1
2 package org.apache.shardingsphere.sql.parser.autogen;
3 import org.antlr.v4.runtime.atn.*;
4 import org.antlr.v4.runtime.dfa.DFA;
5 import org.antlr.v4.runtime.*;
6 import org.antlr.v4.runtime.misc.*;
7 import org.antlr.v4.runtime.tree.*;
8 import java.util.List;
9 import java.util.Iterator;
10 import java.util.ArrayList;
11
12 @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
13 public class SQLServerStatementParser extends Parser {
14 static { RuntimeMetaData.checkVersion("4.10.1", RuntimeMetaData.VERSION); }
15
16 protected static final DFA[] _decisionToDFA;
17 protected static final PredictionContextCache _sharedContextCache =
18 new PredictionContextCache();
19 public static final int
20 T__0=1, BLOCK_COMMENT=2, INLINE_COMMENT=3, AND_=4, OR_=5, NOT_=6, TILDE_=7,
21 VERTICAL_BAR_=8, AMPERSAND_=9, SIGNED_LEFT_SHIFT_=10, SIGNED_RIGHT_SHIFT_=11,
22 CARET_=12, MOD_=13, COLON_=14, PLUS_=15, MINUS_=16, ASTERISK_=17, SLASH_=18,
23 BACKSLASH_=19, DOT_=20, DOT_ASTERISK_=21, SAFE_EQ_=22, DEQ_=23, EQ_=24,
24 NEQ_=25, GT_=26, GTE_=27, LT_=28, LTE_=29, POUND_=30, LP_=31, RP_=32,
25 LBE_=33, RBE_=34, LBT_=35, RBT_=36, COMMA_=37, DQ_=38, SQ_=39, BQ_=40,
26 QUESTION_=41, AT_=42, SEMI_=43, DOLLAR_=44, WS=45, SELECT=46, INSERT=47,
27 UPDATE=48, DELETE=49, CREATE=50, ALTER=51, DROP=52, TRUNCATE=53, SCHEMA=54,
28 GRANT=55, REVOKE=56, ADD=57, SET=58, TABLE=59, COLUMN=60, INDEX=61, CONSTRAINT=62,
29 PRIMARY=63, UNIQUE=64, FOREIGN=65, KEY=66, POSITION=67, PRECISION=68,
30 FUNCTION=69, TRIGGER=70, PROCEDURE=71, PROC=72, VIEW=73, INTO=74, VALUES=75,
31 WITH=76, UNION=77, DISTINCT=78, CASE=79, WHEN=80, CAST=81, TRIM=82, SUBSTRING=83,
32 FROM=84, NATURAL=85, JOIN=86, FULL=87, INNER=88, OUTER=89, LEFT=90, RIGHT=91,
33 CROSS=92, USING=93, WHERE=94, AS=95, ON=96, IF=97, ELSE=98, THEN=99, FOR=100,
34 TO=101, AND=102, OR=103, IS=104, NOT=105, NULL=106, TRUE=107, FALSE=108,
35 EXISTS=109, BETWEEN=110, IN=111, ALL=112, ANY=113, LIKE=114, ORDER=115,
36 GROUP=116, BY=117, ASC=118, DESC=119, HAVING=120, LIMIT=121, OFFSET=122,
37 BEGIN=123, COMMIT=124, ROLLBACK=125, SAVEPOINT=126, BOOLEAN=127, DOUBLE=128,
38 CHAR=129, CHARACTER=130, ARRAY=131, INTERVAL=132, DATE=133, TIME=134,
39 TIMESTAMP=135, LOCALTIME=136, LOCALTIMESTAMP=137, YEAR=138, QUARTER=139,
40 MONTH=140, WEEK=141, DAY=142, HOUR=143, MINUTE=144, SECOND=145, MICROSECOND=146,
41 MAX=147, MIN=148, SUM=149, COUNT=150, AVG=151, DEFAULT=152, CURRENT=153,
42 ENABLE=154, DISABLE=155, CALL=156, INSTANCE=157, PRESERVE=158, DO=159,
43 DEFINER=160, CURRENT_USER=161, SQL=162, CASCADED=163, LOCAL=164, CLOSE=165,
44 OPEN=166, NEXT=167, NAME=168, COLLATION=169, NAMES=170, INTEGER=171, REAL=172,
45 DECIMAL=173, TYPE=174, BIT=175, SMALLINT=176, INT=177, TINYINT=178, NUMERIC=179,
46 FLOAT=180, BIGINT=181, TEXT=182, VARCHAR=183, PERCENT=184, TIES=185, EXCEPT=186,
47 INTERSECT=187, USE=188, MERGE=189, LOOP=190, EXPAND=191, VIEWS=192, FAST=193,
48 FORCE=194, KEEP=195, PLAN=196, OPTIMIZE=197, SIMPLE=198, FORCED=199, HINT=200,
49 READ_ONLY=201, DATABASE=202, DECLARE=203, CURSOR=204, OF=205, RETURNS=206,
50 DATEPART=207, RETURN=208, READONLY=209, AT=210, PASSWORD=211, WITHOUT=212,
51 FOR_GENERATOR=213, BINARY=214, ESCAPE=215, HIDDEN_=216, MOD=217, PARTITION=218,
52 PARTITIONS=219, TOP=220, ROW=221, ROWS=222, UNKNOWN=223, XOR=224, ALWAYS=225,
53 CASCADE=226, CHECK=227, GENERATED=228, NO=229, OPTION=230, PRIVILEGES=231,
54 REFERENCES=232, USER=233, ROLE=234, START=235, TRANSACTION=236, ACTION=237,
55 ALGORITHM=238, AUTO=239, BLOCKERS=240, CLUSTERED=241, NONCLUSTERED=242,
56 COLLATE=243, COLUMNSTORE=244, CONTENT=245, CONVERT=246, YEARS=247, MONTHS=248,
57 WEEKS=249, DAYS=250, MINUTES=251, DENY=252, DETERMINISTIC=253, DISTRIBUTION=254,
58 DOCUMENT=255, DURABILITY=256, ENCRYPTED=257, END=258, FILESTREAM=259,
59 FILETABLE=260, FILLFACTOR=261, FOLLOWING=262, HASH=263, HEAP=264, IDENTITY=265,
60 INBOUND=266, OUTBOUND=267, UNBOUNDED=268, INFINITE=269, LOGIN=270, MASKED=271,
61 MAXDOP=272, MOVE=273, NOCHECK=274, NONE=275, OBJECT=276, OFF=277, ONLINE=278,
62 OVER=279, PAGE=280, PAUSED=281, PERIOD=282, PERSISTED=283, PRECEDING=284,
63 RANDOMIZED=285, RANGE=286, REBUILD=287, REPLICATE=288, REPLICATION=289,
64 RESUMABLE=290, ROWGUIDCOL=291, SAVE=292, SELF=293, SPARSE=294, SWITCH=295,
65 TRAN=296, TRANCOUNT=297, ZONE=298, EXECUTE=299, EXEC=300, SESSION=301,
66 CONNECT=302, CONNECTION=303, CATALOG=304, CONTROL=305, CONCAT=306, TAKE=307,
67 OWNERSHIP=308, DEFINITION=309, APPLICATION=310, ASSEMBLY=311, SYMMETRIC=312,
68 ASYMMETRIC=313, SERVER=314, RECEIVE=315, CHANGE=316, TRACE=317, TRACKING=318,
69 RESOURCES=319, SETTINGS=320, STATE=321, AVAILABILITY=322, CREDENTIAL=323,
70 ENDPOINT=324, EVENT=325, NOTIFICATION=326, LINKED=327, AUDIT=328, DDL=329,
71 XML=330, IMPERSONATE=331, SECURABLES=332, AUTHENTICATE=333, EXTERNAL=334,
72 ACCESS=335, ADMINISTER=336, BULK=337, OPERATIONS=338, UNSAFE=339, SHUTDOWN=340,
73 SCOPED=341, CONFIGURATION=342, DATASPACE=343, SERVICE=344, CERTIFICATE=345,
74 CONTRACT=346, ENCRYPTION=347, MASTER=348, DATA=349, SOURCE=350, FILE=351,
75 FORMAT=352, LIBRARY=353, FULLTEXT=354, MASK=355, UNMASK=356, MESSAGE=357,
76 REMOTE=358, BINDING=359, ROUTE=360, SECURITY=361, POLICY=362, AGGREGATE=363,
77 QUEUE=364, RULE=365, SYNONYM=366, COLLECTION=367, SCRIPT=368, KILL=369,
78 BACKUP=370, LOG=371, SHOWPLAN=372, SUBSCRIBE=373, QUERY=374, NOTIFICATIONS=375,
79 CHECKPOINT=376, SEQUENCE=377, ABORT_AFTER_WAIT=378, ALLOW_PAGE_LOCKS=379,
80 ALLOW_ROW_LOCKS=380, ALL_SPARSE_COLUMNS=381, BUCKET_COUNT=382, COLUMNSTORE_ARCHIVE=383,
81 COLUMN_ENCRYPTION_KEY=384, COLUMN_SET=385, COMPRESSION_DELAY=386, DATABASE_DEAULT=387,
82 DATA_COMPRESSION=388, DATA_CONSISTENCY_CHECK=389, ENCRYPTION_TYPE=390,
83 SYSTEM_TIME=391, SYSTEM_VERSIONING=392, TEXTIMAGE_ON=393, WAIT_AT_LOW_PRIORITY=394,
84 STATISTICS_INCREMENTAL=395, STATISTICS_NORECOMPUTE=396, ROUND_ROBIN=397,
85 SCHEMA_AND_DATA=398, SCHEMA_ONLY=399, SORT_IN_TEMPDB=400, IGNORE_DUP_KEY=401,
86 IMPLICIT_TRANSACTIONS=402, MAX_DURATION=403, MEMORY_OPTIMIZED=404, MIGRATION_STATE=405,
87 PAD_INDEX=406, REMOTE_DATA_ARCHIVE=407, FILESTREAM_ON=408, FILETABLE_COLLATE_FILENAME=409,
88 FILETABLE_DIRECTORY=410, FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME=411,
89 FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME=412, FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME=413,
90 FILTER_PREDICATE=414, HISTORY_RETENTION_PERIOD=415, HISTORY_TABLE=416,
91 LOCK_ESCALATION=417, DROP_EXISTING=418, ROW_NUMBER=419, FETCH=420, FIRST=421,
92 ONLY=422, MONEY=423, SMALLMONEY=424, DATETIMEOFFSET=425, DATETIME=426,
93 DATETIME2=427, SMALLDATETIME=428, NCHAR=429, NVARCHAR=430, NTEXT=431,
94 VARBINARY=432, IMAGE=433, SQL_VARIANT=434, UNIQUEIDENTIFIER=435, HIERARCHYID=436,
95 GEOMETRY=437, GEOGRAPHY=438, OUTPUT=439, INSERTED=440, DELETED=441, ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS=442,
96 ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES=443, DISABLE_BATCH_MODE_ADAPTIVE_JOINS=444,
97 DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK=445, DISABLE_DEFERRED_COMPILATION_TV=446,
98 DISABLE_INTERLEAVED_EXECUTION_TVF=447, DISABLE_OPTIMIZED_NESTED_LOOP=448,
99 DISABLE_OPTIMIZER_ROWGOAL=449, DISABLE_PARAMETER_SNIFFING=450, DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK=451,
100 DISABLE_TSQL_SCALAR_UDF_INLINING=452, DISALLOW_BATCH_MODE=453, ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS=454,
101 ENABLE_QUERY_OPTIMIZER_HOTFIXES=455, FORCE_DEFAULT_CARDINALITY_ESTIMATION=456,
102 FORCE_LEGACY_CARDINALITY_ESTIMATION=457, QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n=458,
103 QUERY_PLAN_PROFILE=459, EXTERNALPUSHDOWN=460, SCALEOUTEXECUTION=461, IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX=462,
104 KEEPFIXED=463, MAX_GRANT_PERCENT=464, MIN_GRANT_PERCENT=465, MAXRECURSION=466,
105 NO_PERFORMANCE_SPOOL=467, PARAMETERIZATION=468, QUERYTRACEON=469, RECOMPILE=470,
106 ROBUST=471, OPTIMIZE_FOR_SEQUENTIAL_KEY=472, DATA_DELETION=473, FILTER_COLUMN=474,
107 RETENTION_PERIOD=475, CONTAINMENT=476, PARTIAL=477, FILENAME=478, SIZE=479,
108 MAXSIZE=480, FILEGROWTH=481, UNLIMITED=482, KB=483, MB=484, GB=485, TB=486,
109 CONTAINS=487, MEMORY_OPTIMIZED_DATA=488, FILEGROUP=489, NON_TRANSACTED_ACCESS=490,
110 DB_CHAINING=491, TRUSTWORTHY=492, FORWARD_ONLY=493, SCROLL=494, STATIC=495,
111 KEYSET=496, DYNAMIC=497, FAST_FORWARD=498, SCROLL_LOCKS=499, OPTIMISTIC=500,
112 TYPE_WARNING=501, SCHEMABINDING=502, CALLER=503, INPUT=504, CALLED=505,
113 VARYING=506, OUT=507, OWNER=508, ATOMIC=509, LANGUAGE=510, LEVEL=511,
114 ISOLATION=512, SNAPSHOT=513, REPEATABLE=514, READ=515, SERIALIZABLE=516,
115 NATIVE_COMPILATION=517, VIEW_METADATA=518, AFTER=519, INSTEAD=520, APPEND=521,
116 INCREMENT=522, CYCLE=523, CACHE=524, MINVALUE=525, MAXVALUE=526, RESTART=527,
117 LOB_COMPACTION=528, COMPRESS_ALL_ROW_GROUPS=529, REORGANIZE=530, RESUME=531,
118 PAUSE=532, ABORT=533, INCLUDE=534, DISTRIBUTED=535, MARK=536, WORK=537,
119 REMOVE=538, AUTOGROW_SINGLE_FILE=539, AUTOGROW_ALL_FILES=540, READWRITE=541,
120 READ_WRITE=542, MODIFY=543, ACCELERATED_DATABASE_RECOVERY=544, PERSISTENT_VERSION_STORE_FILEGROUP=545,
121 IMMEDIATE=546, NO_WAIT=547, TARGET_RECOVERY_TIME=548, SECONDS=549, HONOR_BROKER_PRIORITY=550,
122 ERROR_BROKER_CONVERSATIONS=551, NEW_BROKER=552, DISABLE_BROKER=553, ENABLE_BROKER=554,
123 MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT=555, READ_COMMITTED_SNAPSHOT=556,
124 ALLOW_SNAPSHOT_ISOLATION=557, RECURSIVE_TRIGGERS=558, QUOTED_IDENTIFIER=559,
125 NUMERIC_ROUNDABORT=560, CONCAT_NULL_YIELDS_NULL=561, COMPATIBILITY_LEVEL=562,
126 ARITHABORT=563, ANSI_WARNINGS=564, ANSI_PADDING=565, ANSI_NULLS=566, ANSI_NULL_DEFAULT=567,
127 PAGE_VERIFY=568, CHECKSUM=569, TORN_PAGE_DETECTION=570, BULK_LOGGED=571,
128 RECOVERY=572, TOTAL_EXECUTION_CPU_TIME_MS=573, TOTAL_COMPILE_CPU_TIME_MS=574,
129 STALE_CAPTURE_POLICY_THRESHOLD=575, EXECUTION_COUNT=576, QUERY_CAPTURE_POLICY=577,
130 WAIT_STATS_CAPTURE_MODE=578, MAX_PLANS_PER_QUERY=579, QUERY_CAPTURE_MODE=580,
131 SIZE_BASED_CLEANUP_MODE=581, INTERVAL_LENGTH_MINUTES=582, MAX_STORAGE_SIZE_MB=583,
132 DATA_FLUSH_INTERVAL_SECONDS=584, CLEANUP_POLICY=585, CUSTOM=586, STALE_QUERY_THRESHOLD_DAYS=587,
133 OPERATION_MODE=588, QUERY_STORE=589, CURSOR_DEFAULT=590, GLOBAL=591, CURSOR_CLOSE_ON_COMMIT=592,
134 HOURS=593, CHANGE_RETENTION=594, AUTO_CLEANUP=595, CHANGE_TRACKING=596,
135 AUTOMATIC_TUNING=597, FORCE_LAST_GOOD_PLAN=598, AUTO_UPDATE_STATISTICS_ASYNC=599,
136 AUTO_UPDATE_STATISTICS=600, AUTO_SHRINK=601, AUTO_CREATE_STATISTICS=602,
137 INCREMENTAL=603, AUTO_CLOSE=604, DATA_RETENTION=605, TEMPORAL_HISTORY_RETENTION=606,
138 EDITION=607, MIXED_PAGE_ALLOCATION=608, DISABLED=609, ALLOWED=610, HADR=611,
139 MULTI_USER=612, RESTRICTED_USER=613, SINGLE_USER=614, OFFLINE=615, EMERGENCY=616,
140 SUSPEND=617, DATE_CORRELATION_OPTIMIZATION=618, ELASTIC_POOL=619, SERVICE_OBJECTIVE=620,
141 DATABASE_NAME=621, ALLOW_CONNECTIONS=622, GEO=623, NAMED=624, DATEFIRST=625,
142 BACKUP_STORAGE_REDUNDANCY=626, FORCE_FAILOVER_ALLOW_DATA_LOSS=627, SECONDARY=628,
143 FAILOVER=629, DEFAULT_FULLTEXT_LANGUAGE=630, DEFAULT_LANGUAGE=631, INLINE=632,
144 NESTED_TRIGGERS=633, TRANSFORM_NOISE_WORDS=634, TWO_DIGIT_YEAR_CUTOFF=635,
145 PERSISTENT_LOG_BUFFER=636, DIRECTORY_NAME=637, DATEFORMAT=638, DELAYED_DURABILITY=639,
146 AUTHORIZATION=640, TRANSFER=641, EXPLAIN=642, WITH_RECOMMENDATIONS=643,
147 BATCH_SIZE=644, SETUSER=645, NORESET=646, DEFAULT_SCHEMA=647, ALLOW_ENCRYPTED_VALUE_MODIFICATIONS=648,
148 OLD_PASSWORD=649, PROVIDER=650, SID=651, UNCOMMITTED=652, COMMITTED=653,
149 STOPLIST=654, SEARCH=655, PROPERTY=656, LIST=657, SEND=658, MEMBER=659,
150 HASHED=660, MUST_CHANGE=661, DEFAULT_DATABASE=662, CHECK_EXPIRATION=663,
151 CHECK_POLICY=664, WINDOWS=665, UNLOCK=666, REVERT=667, COOKIE=668, BROWSE=669,
152 RAW=670, XMLDATA=671, XMLSCHEMA=672, ELEMENTS=673, XSINIL=674, ABSENT=675,
153 EXPLICIT=676, PATH=677, BASE64=678, ROOT=679, JSON=680, INCLUDE_NULL_VALUES=681,
154 WITHOUT_ARRAY_WRAPPER=682, XMLNAMESPACES=683, IDENTIFIER_=684, DELIMITED_IDENTIFIER_=685,
155 STRING_=686, NUMBER_=687, INT_NUM_=688, FLOAT_NUM_=689, DECIMAL_NUM_=690,
156 HEX_DIGIT_=691, BIT_NUM_=692, NCHAR_TEXT=693;
157 public static final int
158 RULE_execute = 0, RULE_setTransaction = 1, RULE_isolationLevel = 2, RULE_setImplicitTransactions = 3,
159 RULE_implicitTransactionsValue = 4, RULE_beginTransaction = 5, RULE_beginDistributedTransaction = 6,
160 RULE_commit = 7, RULE_commitWork = 8, RULE_rollback = 9, RULE_rollbackWork = 10,
161 RULE_savepoint = 11, RULE_parameterMarker = 12, RULE_literals = 13, RULE_stringLiterals = 14,
162 RULE_numberLiterals = 15, RULE_dateTimeLiterals = 16, RULE_hexadecimalLiterals = 17,
163 RULE_bitValueLiterals = 18, RULE_booleanLiterals = 19, RULE_nullValueLiterals = 20,
164 RULE_identifier = 21, RULE_regularIdentifier = 22, RULE_delimitedIdentifier = 23,
165 RULE_unreservedWord = 24, RULE_databaseName = 25, RULE_schemaName = 26,
166 RULE_functionName = 27, RULE_procedureName = 28, RULE_viewName = 29, RULE_triggerName = 30,
167 RULE_sequenceName = 31, RULE_tableName = 32, RULE_queueName = 33, RULE_contractName = 34,
168 RULE_serviceName = 35, RULE_columnName = 36, RULE_scriptVariableName = 37,
169 RULE_owner = 38, RULE_name = 39, RULE_columnNames = 40, RULE_columnNamesWithSort = 41,
170 RULE_tableNames = 42, RULE_indexName = 43, RULE_constraintName = 44, RULE_collationName = 45,
171 RULE_alias = 46, RULE_dataTypeLength = 47, RULE_primaryKey = 48, RULE_expr = 49,
172 RULE_andOperator = 50, RULE_orOperator = 51, RULE_notOperator = 52, RULE_booleanPrimary = 53,
173 RULE_comparisonOperator = 54, RULE_predicate = 55, RULE_bitExpr = 56,
174 RULE_simpleExpr = 57, RULE_functionCall = 58, RULE_aggregationFunction = 59,
175 RULE_aggregationFunctionName = 60, RULE_distinct = 61, RULE_specialFunction = 62,
176 RULE_castFunction = 63, RULE_convertFunction = 64, RULE_charFunction = 65,
177 RULE_regularFunction = 66, RULE_regularFunctionName = 67, RULE_caseExpression = 68,
178 RULE_caseWhen = 69, RULE_caseElse = 70, RULE_privateExprOfDb = 71, RULE_orderByClause = 72,
179 RULE_orderByItem = 73, RULE_dataType = 74, RULE_dataTypeName = 75, RULE_atTimeZoneExpr = 76,
180 RULE_castExpr = 77, RULE_convertExpr = 78, RULE_windowedFunction = 79,
181 RULE_overClause = 80, RULE_partitionByClause = 81, RULE_rowRangeClause = 82,
182 RULE_windowFrameExtent = 83, RULE_windowFrameBetween = 84, RULE_windowFrameBound = 85,
183 RULE_windowFramePreceding = 86, RULE_windowFrameFollowing = 87, RULE_columnNameWithSort = 88,
184 RULE_indexOption = 89, RULE_compressionOption = 90, RULE_eqTime = 91,
185 RULE_eqOnOffOption = 92, RULE_eqKey = 93, RULE_eqOnOff = 94, RULE_onPartitionClause = 95,
186 RULE_partitionExpressions = 96, RULE_partitionExpression = 97, RULE_numberRange = 98,
187 RULE_lowPriorityLockWait = 99, RULE_onLowPriorLockWait = 100, RULE_ignoredIdentifier = 101,
188 RULE_ignoredIdentifiers = 102, RULE_matchNone = 103, RULE_variableName = 104,
189 RULE_executeAsClause = 105, RULE_transactionName = 106, RULE_transactionVariableName = 107,
190 RULE_savepointName = 108, RULE_savepointVariableName = 109, RULE_entityType = 110,
191 RULE_ifExists = 111, RULE_call = 112, RULE_explain = 113, RULE_explainableStatement = 114,
192 RULE_createTable = 115, RULE_createTableClause = 116, RULE_createIndex = 117,
193 RULE_createDatabase = 118, RULE_createFunction = 119, RULE_createProcedure = 120,
194 RULE_createView = 121, RULE_createTrigger = 122, RULE_createSequence = 123,
195 RULE_createService = 124, RULE_createSchema = 125, RULE_alterTable = 126,
196 RULE_alterIndex = 127, RULE_alterDatabase = 128, RULE_alterProcedure = 129,
197 RULE_alterFunction = 130, RULE_alterView = 131, RULE_alterTrigger = 132,
198 RULE_alterSequence = 133, RULE_alterService = 134, RULE_alterSchema = 135,
199 RULE_dropTable = 136, RULE_dropIndex = 137, RULE_dropDatabase = 138, RULE_dropFunction = 139,
200 RULE_dropProcedure = 140, RULE_dropView = 141, RULE_dropTrigger = 142,
201 RULE_dropSequence = 143, RULE_dropService = 144, RULE_dropSchema = 145,
202 RULE_truncateTable = 146, RULE_fileTableClause = 147, RULE_createDefinitionClause = 148,
203 RULE_createTableDefinitions = 149, RULE_createTableDefinition = 150, RULE_columnDefinition = 151,
204 RULE_columnDefinitionOption = 152, RULE_encryptedOptions = 153, RULE_columnConstraint = 154,
205 RULE_computedColumnConstraint = 155, RULE_computedColumnForeignKeyConstraint = 156,
206 RULE_computedColumnForeignKeyOnAction = 157, RULE_primaryKeyConstraint = 158,
207 RULE_diskTablePrimaryKeyConstraintOption = 159, RULE_clusterOption = 160,
208 RULE_primaryKeyWithClause = 161, RULE_primaryKeyOnClause = 162, RULE_onSchemaColumn = 163,
209 RULE_onFileGroup = 164, RULE_onString = 165, RULE_memoryTablePrimaryKeyConstraintOption = 166,
210 RULE_withBucket = 167, RULE_columnForeignKeyConstraint = 168, RULE_foreignKeyOnAction = 169,
211 RULE_foreignKeyOn = 170, RULE_checkConstraint = 171, RULE_columnIndex = 172,
212 RULE_withIndexOption = 173, RULE_indexOnClause = 174, RULE_onDefault = 175,
213 RULE_fileStreamOn = 176, RULE_columnConstraints = 177, RULE_computedColumnDefinition = 178,
214 RULE_columnSetDefinition = 179, RULE_tableConstraint = 180, RULE_tablePrimaryConstraint = 181,
215 RULE_primaryKeyUnique = 182, RULE_diskTablePrimaryConstraintOption = 183,
216 RULE_memoryTablePrimaryConstraintOption = 184, RULE_hashWithBucket = 185,
217 RULE_tableForeignKeyConstraint = 186, RULE_tableIndex = 187, RULE_indexNameOption = 188,
218 RULE_indexOptions = 189, RULE_periodClause = 190, RULE_partitionScheme = 191,
219 RULE_fileGroup = 192, RULE_tableOptions = 193, RULE_tableOption = 194,
220 RULE_dataDelectionOption = 195, RULE_tableStretchOptions = 196, RULE_tableStretchOption = 197,
221 RULE_migrationState_ = 198, RULE_tableOperationOption = 199, RULE_distributionOption = 200,
222 RULE_dataWareHouseTableOption = 201, RULE_dataWareHousePartitionOption = 202,
223 RULE_createIndexSpecification = 203, RULE_alterDefinitionClause = 204,
224 RULE_addColumnSpecification = 205, RULE_modifyColumnSpecification = 206,
225 RULE_alterColumnOperation = 207, RULE_alterColumnAddOptions = 208, RULE_alterColumnAddOption = 209,
226 RULE_constraintForColumn = 210, RULE_generatedColumnNamesClause = 211,
227 RULE_generatedColumnNameClause = 212, RULE_generatedColumnName = 213,
228 RULE_alterDrop = 214, RULE_alterTableDropConstraint = 215, RULE_dropConstraintName = 216,
229 RULE_dropConstraintWithClause = 217, RULE_dropConstraintOption = 218,
230 RULE_onOffOption = 219, RULE_dropColumnSpecification = 220, RULE_dropIndexSpecification = 221,
231 RULE_alterCheckConstraint = 222, RULE_alterTableTrigger = 223, RULE_alterSwitch = 224,
232 RULE_alterSet = 225, RULE_setFileStreamClause = 226, RULE_setSystemVersionClause = 227,
233 RULE_alterSetOnClause = 228, RULE_dataConsistencyCheckClause = 229, RULE_historyRetentionPeriodClause = 230,
234 RULE_historyRetentionPeriod = 231, RULE_alterTableTableIndex = 232, RULE_indexWithName = 233,
235 RULE_indexNonClusterClause = 234, RULE_alterTableIndexOnClause = 235,
236 RULE_indexClusterClause = 236, RULE_alterTableOption = 237, RULE_onHistoryTableClause = 238,
237 RULE_createDatabaseClause = 239, RULE_fileDefinitionClause = 240, RULE_databaseOption = 241,
238 RULE_fileStreamOption = 242, RULE_fileSpec = 243, RULE_databaseFileSpecOption = 244,
239 RULE_databaseFileGroup = 245, RULE_databaseFileGroupContains = 246, RULE_databaseLogOns = 247,
240 RULE_declareVariable = 248, RULE_variable = 249, RULE_tableVariable = 250,
241 RULE_variTableTypeDefinition = 251, RULE_tableVariableClause = 252, RULE_variableTableColumnDefinition = 253,
242 RULE_variableTableColumnConstraint = 254, RULE_variableTableConstraint = 255,
243 RULE_setVariable = 256, RULE_setVariableClause = 257, RULE_cursorVariable = 258,
244 RULE_cursorClause = 259, RULE_compoundOperation = 260, RULE_funcParameters = 261,
245 RULE_funcReturns = 262, RULE_funcMutiReturn = 263, RULE_funcInlineReturn = 264,
246 RULE_funcScalarReturn = 265, RULE_tableTypeDefinition = 266, RULE_compoundStatement = 267,
247 RULE_functionOption = 268, RULE_validStatement = 269, RULE_procParameters = 270,
248 RULE_procParameter = 271, RULE_createOrAlterProcClause = 272, RULE_withCreateProcOption = 273,
249 RULE_procOption = 274, RULE_procAsClause = 275, RULE_procSetOption = 276,
250 RULE_createOrAlterViewClause = 277, RULE_viewAttribute = 278, RULE_withCommonTableExpr = 279,
251 RULE_commonTableExpr = 280, RULE_createTriggerClause = 281, RULE_dmlTriggerOption = 282,
252 RULE_methodSpecifier = 283, RULE_triggerTarget = 284, RULE_createOrAlterSequenceClause = 285,
253 RULE_createIndexClause = 286, RULE_filterPredicate = 287, RULE_conjunct = 288,
254 RULE_alterIndexClause = 289, RULE_relationalIndexOption = 290, RULE_partitionNumberRange = 291,
255 RULE_reorganizeOption = 292, RULE_setIndexOption = 293, RULE_resumableIndexOptions = 294,
256 RULE_alterDatabaseClause = 295, RULE_addSecondaryOption = 296, RULE_editionOptions = 297,
257 RULE_serviceObjective = 298, RULE_alterDatabaseOptionSpec = 299, RULE_fileAndFilegroupOptions = 300,
258 RULE_addOrModifyFilegroups = 301, RULE_filegroupUpdatabilityOption = 302,
259 RULE_addOrModifyFiles = 303, RULE_acceleratedDatabaseRecovery = 304, RULE_autoOption = 305,
260 RULE_automaticTuningOption = 306, RULE_changeTrackingOption = 307, RULE_changeTrackingOptionList = 308,
261 RULE_cursorOption = 309, RULE_externalAccessOption = 310, RULE_queryStoreOptions = 311,
262 RULE_queryStoreOptionList = 312, RULE_queryCapturePolicyOptionList = 313,
263 RULE_recoveryOption = 314, RULE_sqlOption = 315, RULE_snapshotOption = 316,
264 RULE_serviceBrokerOption = 317, RULE_targetRecoveryTimeOption = 318, RULE_termination = 319,
265 RULE_createServiceClause = 320, RULE_alterServiceClause = 321, RULE_alterServiceOptArg = 322,
266 RULE_schemaNameClause = 323, RULE_schemaElement = 324, RULE_createTableAsSelectClause = 325,
267 RULE_createTableAsSelect = 326, RULE_createRemoteTableAsSelect = 327,
268 RULE_withDistributionOption = 328, RULE_optionQueryHintClause = 329, RULE_insert = 330,
269 RULE_insertDefaultValue = 331, RULE_insertValuesClause = 332, RULE_insertSelectClause = 333,
270 RULE_update = 334, RULE_assignment = 335, RULE_setAssignmentsClause = 336,
271 RULE_assignmentValues = 337, RULE_assignmentValue = 338, RULE_delete = 339,
272 RULE_singleTableClause = 340, RULE_multipleTablesClause = 341, RULE_multipleTableNames = 342,
273 RULE_select = 343, RULE_aggregationClause = 344, RULE_selectClause = 345,
274 RULE_duplicateSpecification = 346, RULE_projections = 347, RULE_projection = 348,
275 RULE_top = 349, RULE_topNum = 350, RULE_unqualifiedShorthand = 351, RULE_qualifiedShorthand = 352,
276 RULE_fromClause = 353, RULE_tableReferences = 354, RULE_tableReference = 355,
277 RULE_tableFactor = 356, RULE_joinedTable = 357, RULE_joinSpecification = 358,
278 RULE_whereClause = 359, RULE_groupByClause = 360, RULE_havingClause = 361,
279 RULE_subquery = 362, RULE_withClause = 363, RULE_cteClauseSet = 364, RULE_cteClause = 365,
280 RULE_outputClause = 366, RULE_outputWithColumns = 367, RULE_outputWithColumn = 368,
281 RULE_outputWithAaterisk = 369, RULE_outputTableName = 370, RULE_queryHint = 371,
282 RULE_useHitName = 372, RULE_forClause = 373, RULE_forXmlClause = 374,
283 RULE_commonDirectivesForXml = 375, RULE_forJsonClause = 376, RULE_selectWithClause = 377,
284 RULE_xmlNamespacesClause = 378, RULE_xmlNamespaceDeclarationItem = 379,
285 RULE_xmlNamespaceUri = 380, RULE_xmlNamespacePrefix = 381, RULE_xmlDefaultNamespaceDeclarationItem = 382,
286 RULE_grant = 383, RULE_grantClassPrivilegesClause = 384, RULE_grantClassTypePrivilegesClause = 385,
287 RULE_classPrivileges = 386, RULE_onClassClause = 387, RULE_classTypePrivileges = 388,
288 RULE_onClassTypeClause = 389, RULE_securable = 390, RULE_principal = 391,
289 RULE_revoke = 392, RULE_revokeClassPrivilegesClause = 393, RULE_revokeClassTypePrivilegesClause = 394,
290 RULE_deny = 395, RULE_denyClassPrivilegesClause = 396, RULE_denyClassTypePrivilegesClause = 397,
291 RULE_optionForClause = 398, RULE_privilegeType = 399, RULE_objectPermission = 400,
292 RULE_serverPermission = 401, RULE_serverPrincipalPermission = 402, RULE_databasePermission = 403,
293 RULE_databasePrincipalPermission = 404, RULE_databaseUserPermission = 405,
294 RULE_databaseRolePermission = 406, RULE_applicationRolePermission = 407,
295 RULE_databaseScopedCredentialPermission = 408, RULE_schemaPermission = 409,
296 RULE_searchPropertyListPermission = 410, RULE_serviceBrokerPermission = 411,
297 RULE_serviceBrokerContractsPermission = 412, RULE_serviceBrokerMessageTypesPermission = 413,
298 RULE_serviceBrokerRemoteServiceBindingsPermission = 414, RULE_serviceBrokerRoutesPermission = 415,
299 RULE_serviceBrokerServicesPermission = 416, RULE_endpointPermission = 417,
300 RULE_certificatePermission = 418, RULE_symmetricKeyPermission = 419, RULE_asymmetricKeyPermission = 420,
301 RULE_assemblyPermission = 421, RULE_availabilityGroupPermission = 422,
302 RULE_fullTextPermission = 423, RULE_fullTextCatalogPermission = 424, RULE_fullTextStoplistPermission = 425,
303 RULE_typePermission = 426, RULE_xmlSchemaCollectionPermission = 427, RULE_systemObjectPermission = 428,
304 RULE_class_ = 429, RULE_classItem = 430, RULE_classType = 431, RULE_roleClause = 432,
305 RULE_setUser = 433, RULE_createUser = 434, RULE_createUserLoginClause = 435,
306 RULE_createUserWindowsPrincipalClause = 436, RULE_createUserLoginWindowsPrincipalClause = 437,
307 RULE_createUserWithoutLoginClause = 438, RULE_optionsList = 439, RULE_limitedOptionsList = 440,
308 RULE_createUserFromExternalProviderClause = 441, RULE_createUserWithDefaultSchema = 442,
309 RULE_createUserWithAzureActiveDirectoryPrincipalClause = 443, RULE_windowsPrincipal = 444,
310 RULE_azureActiveDirectoryPrincipal = 445, RULE_userName = 446, RULE_ignoredNameIdentifier = 447,
311 RULE_dropUser = 448, RULE_alterUser = 449, RULE_setItem = 450, RULE_createRole = 451,
312 RULE_dropRole = 452, RULE_alterRole = 453, RULE_createLogin = 454, RULE_createLoginForSQLServerClause = 455,
313 RULE_createLoginForSQLServerOptionList = 456, RULE_createLoginForSQLServerOptionListClause = 457,
314 RULE_hashedPassword = 458, RULE_sid = 459, RULE_sources = 460, RULE_windowsOptions = 461,
315 RULE_createLoginForAzureSQLDatabaseClause = 462, RULE_createLoginForAzureSQLDatabaseOptionList = 463,
316 RULE_createLoginForAzureManagedInstanceClause = 464, RULE_azureManagedInstanceOptionList = 465,
317 RULE_createLoginForAzureSynapseAnalyticsClause = 466, RULE_createLoginForAzureSynapseAnalyticsOptionList = 467,
318 RULE_createLoginForAnalyticsPlatformSystemClause = 468, RULE_createLoginForAnalyticsPlatformSystemOptionList = 469,
319 RULE_createLoginForAnalyticsPlatformSystemOptionListClause = 470, RULE_dropLogin = 471,
320 RULE_alterLogin = 472, RULE_statusOptionClause = 473, RULE_setOptionClause = 474,
321 RULE_passwordOptionClause = 475, RULE_cryptographicCredentialsOptionClause = 476,
322 RULE_revert = 477;
323 private static String[] makeRuleNames() {
324 return new String[] {
325 "execute", "setTransaction", "isolationLevel", "setImplicitTransactions",
326 "implicitTransactionsValue", "beginTransaction", "beginDistributedTransaction",
327 "commit", "commitWork", "rollback", "rollbackWork", "savepoint", "parameterMarker",
328 "literals", "stringLiterals", "numberLiterals", "dateTimeLiterals", "hexadecimalLiterals",
329 "bitValueLiterals", "booleanLiterals", "nullValueLiterals", "identifier",
330 "regularIdentifier", "delimitedIdentifier", "unreservedWord", "databaseName",
331 "schemaName", "functionName", "procedureName", "viewName", "triggerName",
332 "sequenceName", "tableName", "queueName", "contractName", "serviceName",
333 "columnName", "scriptVariableName", "owner", "name", "columnNames", "columnNamesWithSort",
334 "tableNames", "indexName", "constraintName", "collationName", "alias",
335 "dataTypeLength", "primaryKey", "expr", "andOperator", "orOperator",
336 "notOperator", "booleanPrimary", "comparisonOperator", "predicate", "bitExpr",
337 "simpleExpr", "functionCall", "aggregationFunction", "aggregationFunctionName",
338 "distinct", "specialFunction", "castFunction", "convertFunction", "charFunction",
339 "regularFunction", "regularFunctionName", "caseExpression", "caseWhen",
340 "caseElse", "privateExprOfDb", "orderByClause", "orderByItem", "dataType",
341 "dataTypeName", "atTimeZoneExpr", "castExpr", "convertExpr", "windowedFunction",
342 "overClause", "partitionByClause", "rowRangeClause", "windowFrameExtent",
343 "windowFrameBetween", "windowFrameBound", "windowFramePreceding", "windowFrameFollowing",
344 "columnNameWithSort", "indexOption", "compressionOption", "eqTime", "eqOnOffOption",
345 "eqKey", "eqOnOff", "onPartitionClause", "partitionExpressions", "partitionExpression",
346 "numberRange", "lowPriorityLockWait", "onLowPriorLockWait", "ignoredIdentifier",
347 "ignoredIdentifiers", "matchNone", "variableName", "executeAsClause",
348 "transactionName", "transactionVariableName", "savepointName", "savepointVariableName",
349 "entityType", "ifExists", "call", "explain", "explainableStatement",
350 "createTable", "createTableClause", "createIndex", "createDatabase",
351 "createFunction", "createProcedure", "createView", "createTrigger", "createSequence",
352 "createService", "createSchema", "alterTable", "alterIndex", "alterDatabase",
353 "alterProcedure", "alterFunction", "alterView", "alterTrigger", "alterSequence",
354 "alterService", "alterSchema", "dropTable", "dropIndex", "dropDatabase",
355 "dropFunction", "dropProcedure", "dropView", "dropTrigger", "dropSequence",
356 "dropService", "dropSchema", "truncateTable", "fileTableClause", "createDefinitionClause",
357 "createTableDefinitions", "createTableDefinition", "columnDefinition",
358 "columnDefinitionOption", "encryptedOptions", "columnConstraint", "computedColumnConstraint",
359 "computedColumnForeignKeyConstraint", "computedColumnForeignKeyOnAction",
360 "primaryKeyConstraint", "diskTablePrimaryKeyConstraintOption", "clusterOption",
361 "primaryKeyWithClause", "primaryKeyOnClause", "onSchemaColumn", "onFileGroup",
362 "onString", "memoryTablePrimaryKeyConstraintOption", "withBucket", "columnForeignKeyConstraint",
363 "foreignKeyOnAction", "foreignKeyOn", "checkConstraint", "columnIndex",
364 "withIndexOption", "indexOnClause", "onDefault", "fileStreamOn", "columnConstraints",
365 "computedColumnDefinition", "columnSetDefinition", "tableConstraint",
366 "tablePrimaryConstraint", "primaryKeyUnique", "diskTablePrimaryConstraintOption",
367 "memoryTablePrimaryConstraintOption", "hashWithBucket", "tableForeignKeyConstraint",
368 "tableIndex", "indexNameOption", "indexOptions", "periodClause", "partitionScheme",
369 "fileGroup", "tableOptions", "tableOption", "dataDelectionOption", "tableStretchOptions",
370 "tableStretchOption", "migrationState_", "tableOperationOption", "distributionOption",
371 "dataWareHouseTableOption", "dataWareHousePartitionOption", "createIndexSpecification",
372 "alterDefinitionClause", "addColumnSpecification", "modifyColumnSpecification",
373 "alterColumnOperation", "alterColumnAddOptions", "alterColumnAddOption",
374 "constraintForColumn", "generatedColumnNamesClause", "generatedColumnNameClause",
375 "generatedColumnName", "alterDrop", "alterTableDropConstraint", "dropConstraintName",
376 "dropConstraintWithClause", "dropConstraintOption", "onOffOption", "dropColumnSpecification",
377 "dropIndexSpecification", "alterCheckConstraint", "alterTableTrigger",
378 "alterSwitch", "alterSet", "setFileStreamClause", "setSystemVersionClause",
379 "alterSetOnClause", "dataConsistencyCheckClause", "historyRetentionPeriodClause",
380 "historyRetentionPeriod", "alterTableTableIndex", "indexWithName", "indexNonClusterClause",
381 "alterTableIndexOnClause", "indexClusterClause", "alterTableOption",
382 "onHistoryTableClause", "createDatabaseClause", "fileDefinitionClause",
383 "databaseOption", "fileStreamOption", "fileSpec", "databaseFileSpecOption",
384 "databaseFileGroup", "databaseFileGroupContains", "databaseLogOns", "declareVariable",
385 "variable", "tableVariable", "variTableTypeDefinition", "tableVariableClause",
386 "variableTableColumnDefinition", "variableTableColumnConstraint", "variableTableConstraint",
387 "setVariable", "setVariableClause", "cursorVariable", "cursorClause",
388 "compoundOperation", "funcParameters", "funcReturns", "funcMutiReturn",
389 "funcInlineReturn", "funcScalarReturn", "tableTypeDefinition", "compoundStatement",
390 "functionOption", "validStatement", "procParameters", "procParameter",
391 "createOrAlterProcClause", "withCreateProcOption", "procOption", "procAsClause",
392 "procSetOption", "createOrAlterViewClause", "viewAttribute", "withCommonTableExpr",
393 "commonTableExpr", "createTriggerClause", "dmlTriggerOption", "methodSpecifier",
394 "triggerTarget", "createOrAlterSequenceClause", "createIndexClause",
395 "filterPredicate", "conjunct", "alterIndexClause", "relationalIndexOption",
396 "partitionNumberRange", "reorganizeOption", "setIndexOption", "resumableIndexOptions",
397 "alterDatabaseClause", "addSecondaryOption", "editionOptions", "serviceObjective",
398 "alterDatabaseOptionSpec", "fileAndFilegroupOptions", "addOrModifyFilegroups",
399 "filegroupUpdatabilityOption", "addOrModifyFiles", "acceleratedDatabaseRecovery",
400 "autoOption", "automaticTuningOption", "changeTrackingOption", "changeTrackingOptionList",
401 "cursorOption", "externalAccessOption", "queryStoreOptions", "queryStoreOptionList",
402 "queryCapturePolicyOptionList", "recoveryOption", "sqlOption", "snapshotOption",
403 "serviceBrokerOption", "targetRecoveryTimeOption", "termination", "createServiceClause",
404 "alterServiceClause", "alterServiceOptArg", "schemaNameClause", "schemaElement",
405 "createTableAsSelectClause", "createTableAsSelect", "createRemoteTableAsSelect",
406 "withDistributionOption", "optionQueryHintClause", "insert", "insertDefaultValue",
407 "insertValuesClause", "insertSelectClause", "update", "assignment", "setAssignmentsClause",
408 "assignmentValues", "assignmentValue", "delete", "singleTableClause",
409 "multipleTablesClause", "multipleTableNames", "select", "aggregationClause",
410 "selectClause", "duplicateSpecification", "projections", "projection",
411 "top", "topNum", "unqualifiedShorthand", "qualifiedShorthand", "fromClause",
412 "tableReferences", "tableReference", "tableFactor", "joinedTable", "joinSpecification",
413 "whereClause", "groupByClause", "havingClause", "subquery", "withClause",
414 "cteClauseSet", "cteClause", "outputClause", "outputWithColumns", "outputWithColumn",
415 "outputWithAaterisk", "outputTableName", "queryHint", "useHitName", "forClause",
416 "forXmlClause", "commonDirectivesForXml", "forJsonClause", "selectWithClause",
417 "xmlNamespacesClause", "xmlNamespaceDeclarationItem", "xmlNamespaceUri",
418 "xmlNamespacePrefix", "xmlDefaultNamespaceDeclarationItem", "grant",
419 "grantClassPrivilegesClause", "grantClassTypePrivilegesClause", "classPrivileges",
420 "onClassClause", "classTypePrivileges", "onClassTypeClause", "securable",
421 "principal", "revoke", "revokeClassPrivilegesClause", "revokeClassTypePrivilegesClause",
422 "deny", "denyClassPrivilegesClause", "denyClassTypePrivilegesClause",
423 "optionForClause", "privilegeType", "objectPermission", "serverPermission",
424 "serverPrincipalPermission", "databasePermission", "databasePrincipalPermission",
425 "databaseUserPermission", "databaseRolePermission", "applicationRolePermission",
426 "databaseScopedCredentialPermission", "schemaPermission", "searchPropertyListPermission",
427 "serviceBrokerPermission", "serviceBrokerContractsPermission", "serviceBrokerMessageTypesPermission",
428 "serviceBrokerRemoteServiceBindingsPermission", "serviceBrokerRoutesPermission",
429 "serviceBrokerServicesPermission", "endpointPermission", "certificatePermission",
430 "symmetricKeyPermission", "asymmetricKeyPermission", "assemblyPermission",
431 "availabilityGroupPermission", "fullTextPermission", "fullTextCatalogPermission",
432 "fullTextStoplistPermission", "typePermission", "xmlSchemaCollectionPermission",
433 "systemObjectPermission", "class_", "classItem", "classType", "roleClause",
434 "setUser", "createUser", "createUserLoginClause", "createUserWindowsPrincipalClause",
435 "createUserLoginWindowsPrincipalClause", "createUserWithoutLoginClause",
436 "optionsList", "limitedOptionsList", "createUserFromExternalProviderClause",
437 "createUserWithDefaultSchema", "createUserWithAzureActiveDirectoryPrincipalClause",
438 "windowsPrincipal", "azureActiveDirectoryPrincipal", "userName", "ignoredNameIdentifier",
439 "dropUser", "alterUser", "setItem", "createRole", "dropRole", "alterRole",
440 "createLogin", "createLoginForSQLServerClause", "createLoginForSQLServerOptionList",
441 "createLoginForSQLServerOptionListClause", "hashedPassword", "sid", "sources",
442 "windowsOptions", "createLoginForAzureSQLDatabaseClause", "createLoginForAzureSQLDatabaseOptionList",
443 "createLoginForAzureManagedInstanceClause", "azureManagedInstanceOptionList",
444 "createLoginForAzureSynapseAnalyticsClause", "createLoginForAzureSynapseAnalyticsOptionList",
445 "createLoginForAnalyticsPlatformSystemClause", "createLoginForAnalyticsPlatformSystemOptionList",
446 "createLoginForAnalyticsPlatformSystemOptionListClause", "dropLogin",
447 "alterLogin", "statusOptionClause", "setOptionClause", "passwordOptionClause",
448 "cryptographicCredentialsOptionClause", "revert"
449 };
450 }
451 public static final String[] ruleNames = makeRuleNames();
452
453 private static String[] makeLiteralNames() {
454 return new String[] {
455 null, "'Default does not match anything'", null, null, "'&&'", "'||'",
456 "'!'", "'~'", "'|'", "'&'", "'<<'", "'>>'", "'^'", "'%'", "':'", "'+'",
457 "'-'", "'*'", "'/'", "'\\'", "'.'", "'.*'", "'<=>'", "'=='", "'='", null,
458 "'>'", "'>='", "'<'", "'<='", "'#'", "'('", "')'", "'{'", "'}'", "'['",
459 "']'", "','", "'\"'", "'''", "'`'", "'?'", "'@'", "';'", "'$'", null,
460 null, null, null, null, null, null, null, null, null, null, null, null,
461 null, null, null, null, null, null, null, null, null, null, null, null,
462 null, null, null, null, null, null, null, null, null, null, null, null,
463 null, null, null, null, null, null, null, null, null, null, null, null,
464 null, null, null, null, null, null, null, null, null, null, null, null,
465 null, null, null, null, null, null, null, null, null, null, null, null,
466 null, null, null, null, null, null, null, null, null, null, null, null,
467 null, null, null, null, null, null, null, null, null, null, null, null,
468 null, null, null, null, null, null, null, null, null, null, null, null,
469 null, null, null, null, null, null, null, null, null, null, null, null,
470 null, null, null, null, null, null, null, null, null, null, null, null,
471 null, null, null, null, null, null, null, null, null, null, null, null,
472 null, null, null, null, null, null, null, null, null, null, null, null,
473 null, null, null, null, null, null, null, null, null, null, null, "'DO NOT MATCH ANY THING, JUST FOR GENERATOR'"
474 };
475 }
476 private static final String[] _LITERAL_NAMES = makeLiteralNames();
477 private static String[] makeSymbolicNames() {
478 return new String[] {
479 null, null, "BLOCK_COMMENT", "INLINE_COMMENT", "AND_", "OR_", "NOT_",
480 "TILDE_", "VERTICAL_BAR_", "AMPERSAND_", "SIGNED_LEFT_SHIFT_", "SIGNED_RIGHT_SHIFT_",
481 "CARET_", "MOD_", "COLON_", "PLUS_", "MINUS_", "ASTERISK_", "SLASH_",
482 "BACKSLASH_", "DOT_", "DOT_ASTERISK_", "SAFE_EQ_", "DEQ_", "EQ_", "NEQ_",
483 "GT_", "GTE_", "LT_", "LTE_", "POUND_", "LP_", "RP_", "LBE_", "RBE_",
484 "LBT_", "RBT_", "COMMA_", "DQ_", "SQ_", "BQ_", "QUESTION_", "AT_", "SEMI_",
485 "DOLLAR_", "WS", "SELECT", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER",
486 "DROP", "TRUNCATE", "SCHEMA", "GRANT", "REVOKE", "ADD", "SET", "TABLE",
487 "COLUMN", "INDEX", "CONSTRAINT", "PRIMARY", "UNIQUE", "FOREIGN", "KEY",
488 "POSITION", "PRECISION", "FUNCTION", "TRIGGER", "PROCEDURE", "PROC",
489 "VIEW", "INTO", "VALUES", "WITH", "UNION", "DISTINCT", "CASE", "WHEN",
490 "CAST", "TRIM", "SUBSTRING", "FROM", "NATURAL", "JOIN", "FULL", "INNER",
491 "OUTER", "LEFT", "RIGHT", "CROSS", "USING", "WHERE", "AS", "ON", "IF",
492 "ELSE", "THEN", "FOR", "TO", "AND", "OR", "IS", "NOT", "NULL", "TRUE",
493 "FALSE", "EXISTS", "BETWEEN", "IN", "ALL", "ANY", "LIKE", "ORDER", "GROUP",
494 "BY", "ASC", "DESC", "HAVING", "LIMIT", "OFFSET", "BEGIN", "COMMIT",
495 "ROLLBACK", "SAVEPOINT", "BOOLEAN", "DOUBLE", "CHAR", "CHARACTER", "ARRAY",
496 "INTERVAL", "DATE", "TIME", "TIMESTAMP", "LOCALTIME", "LOCALTIMESTAMP",
497 "YEAR", "QUARTER", "MONTH", "WEEK", "DAY", "HOUR", "MINUTE", "SECOND",
498 "MICROSECOND", "MAX", "MIN", "SUM", "COUNT", "AVG", "DEFAULT", "CURRENT",
499 "ENABLE", "DISABLE", "CALL", "INSTANCE", "PRESERVE", "DO", "DEFINER",
500 "CURRENT_USER", "SQL", "CASCADED", "LOCAL", "CLOSE", "OPEN", "NEXT",
501 "NAME", "COLLATION", "NAMES", "INTEGER", "REAL", "DECIMAL", "TYPE", "BIT",
502 "SMALLINT", "INT", "TINYINT", "NUMERIC", "FLOAT", "BIGINT", "TEXT", "VARCHAR",
503 "PERCENT", "TIES", "EXCEPT", "INTERSECT", "USE", "MERGE", "LOOP", "EXPAND",
504 "VIEWS", "FAST", "FORCE", "KEEP", "PLAN", "OPTIMIZE", "SIMPLE", "FORCED",
505 "HINT", "READ_ONLY", "DATABASE", "DECLARE", "CURSOR", "OF", "RETURNS",
506 "DATEPART", "RETURN", "READONLY", "AT", "PASSWORD", "WITHOUT", "FOR_GENERATOR",
507 "BINARY", "ESCAPE", "HIDDEN_", "MOD", "PARTITION", "PARTITIONS", "TOP",
508 "ROW", "ROWS", "UNKNOWN", "XOR", "ALWAYS", "CASCADE", "CHECK", "GENERATED",
509 "NO", "OPTION", "PRIVILEGES", "REFERENCES", "USER", "ROLE", "START",
510 "TRANSACTION", "ACTION", "ALGORITHM", "AUTO", "BLOCKERS", "CLUSTERED",
511 "NONCLUSTERED", "COLLATE", "COLUMNSTORE", "CONTENT", "CONVERT", "YEARS",
512 "MONTHS", "WEEKS", "DAYS", "MINUTES", "DENY", "DETERMINISTIC", "DISTRIBUTION",
513 "DOCUMENT", "DURABILITY", "ENCRYPTED", "END", "FILESTREAM", "FILETABLE",
514 "FILLFACTOR", "FOLLOWING", "HASH", "HEAP", "IDENTITY", "INBOUND", "OUTBOUND",
515 "UNBOUNDED", "INFINITE", "LOGIN", "MASKED", "MAXDOP", "MOVE", "NOCHECK",
516 "NONE", "OBJECT", "OFF", "ONLINE", "OVER", "PAGE", "PAUSED", "PERIOD",
517 "PERSISTED", "PRECEDING", "RANDOMIZED", "RANGE", "REBUILD", "REPLICATE",
518 "REPLICATION", "RESUMABLE", "ROWGUIDCOL", "SAVE", "SELF", "SPARSE", "SWITCH",
519 "TRAN", "TRANCOUNT", "ZONE", "EXECUTE", "EXEC", "SESSION", "CONNECT",
520 "CONNECTION", "CATALOG", "CONTROL", "CONCAT", "TAKE", "OWNERSHIP", "DEFINITION",
521 "APPLICATION", "ASSEMBLY", "SYMMETRIC", "ASYMMETRIC", "SERVER", "RECEIVE",
522 "CHANGE", "TRACE", "TRACKING", "RESOURCES", "SETTINGS", "STATE", "AVAILABILITY",
523 "CREDENTIAL", "ENDPOINT", "EVENT", "NOTIFICATION", "LINKED", "AUDIT",
524 "DDL", "XML", "IMPERSONATE", "SECURABLES", "AUTHENTICATE", "EXTERNAL",
525 "ACCESS", "ADMINISTER", "BULK", "OPERATIONS", "UNSAFE", "SHUTDOWN", "SCOPED",
526 "CONFIGURATION", "DATASPACE", "SERVICE", "CERTIFICATE", "CONTRACT", "ENCRYPTION",
527 "MASTER", "DATA", "SOURCE", "FILE", "FORMAT", "LIBRARY", "FULLTEXT",
528 "MASK", "UNMASK", "MESSAGE", "REMOTE", "BINDING", "ROUTE", "SECURITY",
529 "POLICY", "AGGREGATE", "QUEUE", "RULE", "SYNONYM", "COLLECTION", "SCRIPT",
530 "KILL", "BACKUP", "LOG", "SHOWPLAN", "SUBSCRIBE", "QUERY", "NOTIFICATIONS",
531 "CHECKPOINT", "SEQUENCE", "ABORT_AFTER_WAIT", "ALLOW_PAGE_LOCKS", "ALLOW_ROW_LOCKS",
532 "ALL_SPARSE_COLUMNS", "BUCKET_COUNT", "COLUMNSTORE_ARCHIVE", "COLUMN_ENCRYPTION_KEY",
533 "COLUMN_SET", "COMPRESSION_DELAY", "DATABASE_DEAULT", "DATA_COMPRESSION",
534 "DATA_CONSISTENCY_CHECK", "ENCRYPTION_TYPE", "SYSTEM_TIME", "SYSTEM_VERSIONING",
535 "TEXTIMAGE_ON", "WAIT_AT_LOW_PRIORITY", "STATISTICS_INCREMENTAL", "STATISTICS_NORECOMPUTE",
536 "ROUND_ROBIN", "SCHEMA_AND_DATA", "SCHEMA_ONLY", "SORT_IN_TEMPDB", "IGNORE_DUP_KEY",
537 "IMPLICIT_TRANSACTIONS", "MAX_DURATION", "MEMORY_OPTIMIZED", "MIGRATION_STATE",
538 "PAD_INDEX", "REMOTE_DATA_ARCHIVE", "FILESTREAM_ON", "FILETABLE_COLLATE_FILENAME",
539 "FILETABLE_DIRECTORY", "FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME", "FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME",
540 "FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME", "FILTER_PREDICATE", "HISTORY_RETENTION_PERIOD",
541 "HISTORY_TABLE", "LOCK_ESCALATION", "DROP_EXISTING", "ROW_NUMBER", "FETCH",
542 "FIRST", "ONLY", "MONEY", "SMALLMONEY", "DATETIMEOFFSET", "DATETIME",
543 "DATETIME2", "SMALLDATETIME", "NCHAR", "NVARCHAR", "NTEXT", "VARBINARY",
544 "IMAGE", "SQL_VARIANT", "UNIQUEIDENTIFIER", "HIERARCHYID", "GEOMETRY",
545 "GEOGRAPHY", "OUTPUT", "INSERTED", "DELETED", "ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS",
546 "ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES", "DISABLE_BATCH_MODE_ADAPTIVE_JOINS",
547 "DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK", "DISABLE_DEFERRED_COMPILATION_TV",
548 "DISABLE_INTERLEAVED_EXECUTION_TVF", "DISABLE_OPTIMIZED_NESTED_LOOP",
549 "DISABLE_OPTIMIZER_ROWGOAL", "DISABLE_PARAMETER_SNIFFING", "DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK",
550 "DISABLE_TSQL_SCALAR_UDF_INLINING", "DISALLOW_BATCH_MODE", "ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS",
551 "ENABLE_QUERY_OPTIMIZER_HOTFIXES", "FORCE_DEFAULT_CARDINALITY_ESTIMATION",
552 "FORCE_LEGACY_CARDINALITY_ESTIMATION", "QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n",
553 "QUERY_PLAN_PROFILE", "EXTERNALPUSHDOWN", "SCALEOUTEXECUTION", "IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX",
554 "KEEPFIXED", "MAX_GRANT_PERCENT", "MIN_GRANT_PERCENT", "MAXRECURSION",
555 "NO_PERFORMANCE_SPOOL", "PARAMETERIZATION", "QUERYTRACEON", "RECOMPILE",
556 "ROBUST", "OPTIMIZE_FOR_SEQUENTIAL_KEY", "DATA_DELETION", "FILTER_COLUMN",
557 "RETENTION_PERIOD", "CONTAINMENT", "PARTIAL", "FILENAME", "SIZE", "MAXSIZE",
558 "FILEGROWTH", "UNLIMITED", "KB", "MB", "GB", "TB", "CONTAINS", "MEMORY_OPTIMIZED_DATA",
559 "FILEGROUP", "NON_TRANSACTED_ACCESS", "DB_CHAINING", "TRUSTWORTHY", "FORWARD_ONLY",
560 "SCROLL", "STATIC", "KEYSET", "DYNAMIC", "FAST_FORWARD", "SCROLL_LOCKS",
561 "OPTIMISTIC", "TYPE_WARNING", "SCHEMABINDING", "CALLER", "INPUT", "CALLED",
562 "VARYING", "OUT", "OWNER", "ATOMIC", "LANGUAGE", "LEVEL", "ISOLATION",
563 "SNAPSHOT", "REPEATABLE", "READ", "SERIALIZABLE", "NATIVE_COMPILATION",
564 "VIEW_METADATA", "AFTER", "INSTEAD", "APPEND", "INCREMENT", "CYCLE",
565 "CACHE", "MINVALUE", "MAXVALUE", "RESTART", "LOB_COMPACTION", "COMPRESS_ALL_ROW_GROUPS",
566 "REORGANIZE", "RESUME", "PAUSE", "ABORT", "INCLUDE", "DISTRIBUTED", "MARK",
567 "WORK", "REMOVE", "AUTOGROW_SINGLE_FILE", "AUTOGROW_ALL_FILES", "READWRITE",
568 "READ_WRITE", "MODIFY", "ACCELERATED_DATABASE_RECOVERY", "PERSISTENT_VERSION_STORE_FILEGROUP",
569 "IMMEDIATE", "NO_WAIT", "TARGET_RECOVERY_TIME", "SECONDS", "HONOR_BROKER_PRIORITY",
570 "ERROR_BROKER_CONVERSATIONS", "NEW_BROKER", "DISABLE_BROKER", "ENABLE_BROKER",
571 "MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT", "READ_COMMITTED_SNAPSHOT", "ALLOW_SNAPSHOT_ISOLATION",
572 "RECURSIVE_TRIGGERS", "QUOTED_IDENTIFIER", "NUMERIC_ROUNDABORT", "CONCAT_NULL_YIELDS_NULL",
573 "COMPATIBILITY_LEVEL", "ARITHABORT", "ANSI_WARNINGS", "ANSI_PADDING",
574 "ANSI_NULLS", "ANSI_NULL_DEFAULT", "PAGE_VERIFY", "CHECKSUM", "TORN_PAGE_DETECTION",
575 "BULK_LOGGED", "RECOVERY", "TOTAL_EXECUTION_CPU_TIME_MS", "TOTAL_COMPILE_CPU_TIME_MS",
576 "STALE_CAPTURE_POLICY_THRESHOLD", "EXECUTION_COUNT", "QUERY_CAPTURE_POLICY",
577 "WAIT_STATS_CAPTURE_MODE", "MAX_PLANS_PER_QUERY", "QUERY_CAPTURE_MODE",
578 "SIZE_BASED_CLEANUP_MODE", "INTERVAL_LENGTH_MINUTES", "MAX_STORAGE_SIZE_MB",
579 "DATA_FLUSH_INTERVAL_SECONDS", "CLEANUP_POLICY", "CUSTOM", "STALE_QUERY_THRESHOLD_DAYS",
580 "OPERATION_MODE", "QUERY_STORE", "CURSOR_DEFAULT", "GLOBAL", "CURSOR_CLOSE_ON_COMMIT",
581 "HOURS", "CHANGE_RETENTION", "AUTO_CLEANUP", "CHANGE_TRACKING", "AUTOMATIC_TUNING",
582 "FORCE_LAST_GOOD_PLAN", "AUTO_UPDATE_STATISTICS_ASYNC", "AUTO_UPDATE_STATISTICS",
583 "AUTO_SHRINK", "AUTO_CREATE_STATISTICS", "INCREMENTAL", "AUTO_CLOSE",
584 "DATA_RETENTION", "TEMPORAL_HISTORY_RETENTION", "EDITION", "MIXED_PAGE_ALLOCATION",
585 "DISABLED", "ALLOWED", "HADR", "MULTI_USER", "RESTRICTED_USER", "SINGLE_USER",
586 "OFFLINE", "EMERGENCY", "SUSPEND", "DATE_CORRELATION_OPTIMIZATION", "ELASTIC_POOL",
587 "SERVICE_OBJECTIVE", "DATABASE_NAME", "ALLOW_CONNECTIONS", "GEO", "NAMED",
588 "DATEFIRST", "BACKUP_STORAGE_REDUNDANCY", "FORCE_FAILOVER_ALLOW_DATA_LOSS",
589 "SECONDARY", "FAILOVER", "DEFAULT_FULLTEXT_LANGUAGE", "DEFAULT_LANGUAGE",
590 "INLINE", "NESTED_TRIGGERS", "TRANSFORM_NOISE_WORDS", "TWO_DIGIT_YEAR_CUTOFF",
591 "PERSISTENT_LOG_BUFFER", "DIRECTORY_NAME", "DATEFORMAT", "DELAYED_DURABILITY",
592 "AUTHORIZATION", "TRANSFER", "EXPLAIN", "WITH_RECOMMENDATIONS", "BATCH_SIZE",
593 "SETUSER", "NORESET", "DEFAULT_SCHEMA", "ALLOW_ENCRYPTED_VALUE_MODIFICATIONS",
594 "OLD_PASSWORD", "PROVIDER", "SID", "UNCOMMITTED", "COMMITTED", "STOPLIST",
595 "SEARCH", "PROPERTY", "LIST", "SEND", "MEMBER", "HASHED", "MUST_CHANGE",
596 "DEFAULT_DATABASE", "CHECK_EXPIRATION", "CHECK_POLICY", "WINDOWS", "UNLOCK",
597 "REVERT", "COOKIE", "BROWSE", "RAW", "XMLDATA", "XMLSCHEMA", "ELEMENTS",
598 "XSINIL", "ABSENT", "EXPLICIT", "PATH", "BASE64", "ROOT", "JSON", "INCLUDE_NULL_VALUES",
599 "WITHOUT_ARRAY_WRAPPER", "XMLNAMESPACES", "IDENTIFIER_", "DELIMITED_IDENTIFIER_",
600 "STRING_", "NUMBER_", "INT_NUM_", "FLOAT_NUM_", "DECIMAL_NUM_", "HEX_DIGIT_",
601 "BIT_NUM_", "NCHAR_TEXT"
602 };
603 }
604 private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
605 public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
606
607
608
609
610 @Deprecated
611 public static final String[] tokenNames;
612 static {
613 tokenNames = new String[_SYMBOLIC_NAMES.length];
614 for (int i = 0; i < tokenNames.length; i++) {
615 tokenNames[i] = VOCABULARY.getLiteralName(i);
616 if (tokenNames[i] == null) {
617 tokenNames[i] = VOCABULARY.getSymbolicName(i);
618 }
619
620 if (tokenNames[i] == null) {
621 tokenNames[i] = "<INVALID>";
622 }
623 }
624 }
625
626 @Override
627 @Deprecated
628 public String[] getTokenNames() {
629 return tokenNames;
630 }
631
632 @Override
633
634 public Vocabulary getVocabulary() {
635 return VOCABULARY;
636 }
637
638 @Override
639 public String getGrammarFileName() { return "SQLServerStatement.g4"; }
640
641 @Override
642 public String[] getRuleNames() { return ruleNames; }
643
644 @Override
645 public String getSerializedATN() { return _serializedATN; }
646
647 @Override
648 public ATN getATN() { return _ATN; }
649
650 public SQLServerStatementParser(TokenStream input) {
651 super(input);
652 _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
653 }
654
655 public static class ExecuteContext extends ParserRuleContext {
656 public SelectContext select() {
657 return getRuleContext(SelectContext.class,0);
658 }
659 public InsertContext insert() {
660 return getRuleContext(InsertContext.class,0);
661 }
662 public UpdateContext update() {
663 return getRuleContext(UpdateContext.class,0);
664 }
665 public DeleteContext delete() {
666 return getRuleContext(DeleteContext.class,0);
667 }
668 public CreateIndexContext createIndex() {
669 return getRuleContext(CreateIndexContext.class,0);
670 }
671 public AlterIndexContext alterIndex() {
672 return getRuleContext(AlterIndexContext.class,0);
673 }
674 public DropIndexContext dropIndex() {
675 return getRuleContext(DropIndexContext.class,0);
676 }
677 public CreateTableContext createTable() {
678 return getRuleContext(CreateTableContext.class,0);
679 }
680 public CreateDatabaseContext createDatabase() {
681 return getRuleContext(CreateDatabaseContext.class,0);
682 }
683 public CreateProcedureContext createProcedure() {
684 return getRuleContext(CreateProcedureContext.class,0);
685 }
686 public CreateViewContext createView() {
687 return getRuleContext(CreateViewContext.class,0);
688 }
689 public CreateTriggerContext createTrigger() {
690 return getRuleContext(CreateTriggerContext.class,0);
691 }
692 public CreateSequenceContext createSequence() {
693 return getRuleContext(CreateSequenceContext.class,0);
694 }
695 public CreateServiceContext createService() {
696 return getRuleContext(CreateServiceContext.class,0);
697 }
698 public CreateSchemaContext createSchema() {
699 return getRuleContext(CreateSchemaContext.class,0);
700 }
701 public AlterTableContext alterTable() {
702 return getRuleContext(AlterTableContext.class,0);
703 }
704 public AlterTriggerContext alterTrigger() {
705 return getRuleContext(AlterTriggerContext.class,0);
706 }
707 public AlterSequenceContext alterSequence() {
708 return getRuleContext(AlterSequenceContext.class,0);
709 }
710 public AlterDatabaseContext alterDatabase() {
711 return getRuleContext(AlterDatabaseContext.class,0);
712 }
713 public AlterServiceContext alterService() {
714 return getRuleContext(AlterServiceContext.class,0);
715 }
716 public AlterSchemaContext alterSchema() {
717 return getRuleContext(AlterSchemaContext.class,0);
718 }
719 public AlterViewContext alterView() {
720 return getRuleContext(AlterViewContext.class,0);
721 }
722 public DropTableContext dropTable() {
723 return getRuleContext(DropTableContext.class,0);
724 }
725 public DropDatabaseContext dropDatabase() {
726 return getRuleContext(DropDatabaseContext.class,0);
727 }
728 public DropFunctionContext dropFunction() {
729 return getRuleContext(DropFunctionContext.class,0);
730 }
731 public DropProcedureContext dropProcedure() {
732 return getRuleContext(DropProcedureContext.class,0);
733 }
734 public DropViewContext dropView() {
735 return getRuleContext(DropViewContext.class,0);
736 }
737 public DropTriggerContext dropTrigger() {
738 return getRuleContext(DropTriggerContext.class,0);
739 }
740 public DropSequenceContext dropSequence() {
741 return getRuleContext(DropSequenceContext.class,0);
742 }
743 public DropServiceContext dropService() {
744 return getRuleContext(DropServiceContext.class,0);
745 }
746 public DropSchemaContext dropSchema() {
747 return getRuleContext(DropSchemaContext.class,0);
748 }
749 public TruncateTableContext truncateTable() {
750 return getRuleContext(TruncateTableContext.class,0);
751 }
752 public CreateFunctionContext createFunction() {
753 return getRuleContext(CreateFunctionContext.class,0);
754 }
755 public SetTransactionContext setTransaction() {
756 return getRuleContext(SetTransactionContext.class,0);
757 }
758 public BeginTransactionContext beginTransaction() {
759 return getRuleContext(BeginTransactionContext.class,0);
760 }
761 public BeginDistributedTransactionContext beginDistributedTransaction() {
762 return getRuleContext(BeginDistributedTransactionContext.class,0);
763 }
764 public SetImplicitTransactionsContext setImplicitTransactions() {
765 return getRuleContext(SetImplicitTransactionsContext.class,0);
766 }
767 public CommitContext commit() {
768 return getRuleContext(CommitContext.class,0);
769 }
770 public CommitWorkContext commitWork() {
771 return getRuleContext(CommitWorkContext.class,0);
772 }
773 public RollbackContext rollback() {
774 return getRuleContext(RollbackContext.class,0);
775 }
776 public RollbackWorkContext rollbackWork() {
777 return getRuleContext(RollbackWorkContext.class,0);
778 }
779 public SavepointContext savepoint() {
780 return getRuleContext(SavepointContext.class,0);
781 }
782 public GrantContext grant() {
783 return getRuleContext(GrantContext.class,0);
784 }
785 public RevokeContext revoke() {
786 return getRuleContext(RevokeContext.class,0);
787 }
788 public DenyContext deny() {
789 return getRuleContext(DenyContext.class,0);
790 }
791 public CreateUserContext createUser() {
792 return getRuleContext(CreateUserContext.class,0);
793 }
794 public DropUserContext dropUser() {
795 return getRuleContext(DropUserContext.class,0);
796 }
797 public AlterUserContext alterUser() {
798 return getRuleContext(AlterUserContext.class,0);
799 }
800 public CreateRoleContext createRole() {
801 return getRuleContext(CreateRoleContext.class,0);
802 }
803 public DropRoleContext dropRole() {
804 return getRuleContext(DropRoleContext.class,0);
805 }
806 public AlterRoleContext alterRole() {
807 return getRuleContext(AlterRoleContext.class,0);
808 }
809 public CreateLoginContext createLogin() {
810 return getRuleContext(CreateLoginContext.class,0);
811 }
812 public DropLoginContext dropLogin() {
813 return getRuleContext(DropLoginContext.class,0);
814 }
815 public AlterLoginContext alterLogin() {
816 return getRuleContext(AlterLoginContext.class,0);
817 }
818 public CallContext call() {
819 return getRuleContext(CallContext.class,0);
820 }
821 public ExplainContext explain() {
822 return getRuleContext(ExplainContext.class,0);
823 }
824 public SetUserContext setUser() {
825 return getRuleContext(SetUserContext.class,0);
826 }
827 public RevertContext revert() {
828 return getRuleContext(RevertContext.class,0);
829 }
830 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
831 public ExecuteContext(ParserRuleContext parent, int invokingState) {
832 super(parent, invokingState);
833 }
834 @Override public int getRuleIndex() { return RULE_execute; }
835 @Override
836 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
837 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExecute(this);
838 else return visitor.visitChildren(this);
839 }
840 }
841
842 public final ExecuteContext execute() throws RecognitionException {
843 ExecuteContext _localctx = new ExecuteContext(_ctx, getState());
844 enterRule(_localctx, 0, RULE_execute);
845 int _la;
846 try {
847 enterOuterAlt(_localctx, 1);
848 {
849 setState(1014);
850 _errHandler.sync(this);
851 switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) {
852 case 1:
853 {
854 setState(956);
855 select();
856 }
857 break;
858 case 2:
859 {
860 setState(957);
861 insert();
862 }
863 break;
864 case 3:
865 {
866 setState(958);
867 update();
868 }
869 break;
870 case 4:
871 {
872 setState(959);
873 delete();
874 }
875 break;
876 case 5:
877 {
878 setState(960);
879 createIndex();
880 }
881 break;
882 case 6:
883 {
884 setState(961);
885 alterIndex();
886 }
887 break;
888 case 7:
889 {
890 setState(962);
891 dropIndex();
892 }
893 break;
894 case 8:
895 {
896 setState(963);
897 createTable();
898 }
899 break;
900 case 9:
901 {
902 setState(964);
903 createDatabase();
904 }
905 break;
906 case 10:
907 {
908 setState(965);
909 createProcedure();
910 }
911 break;
912 case 11:
913 {
914 setState(966);
915 createView();
916 }
917 break;
918 case 12:
919 {
920 setState(967);
921 createTrigger();
922 }
923 break;
924 case 13:
925 {
926 setState(968);
927 createSequence();
928 }
929 break;
930 case 14:
931 {
932 setState(969);
933 createService();
934 }
935 break;
936 case 15:
937 {
938 setState(970);
939 createSchema();
940 }
941 break;
942 case 16:
943 {
944 setState(971);
945 alterTable();
946 }
947 break;
948 case 17:
949 {
950 setState(972);
951 alterTrigger();
952 }
953 break;
954 case 18:
955 {
956 setState(973);
957 alterSequence();
958 }
959 break;
960 case 19:
961 {
962 setState(974);
963 alterDatabase();
964 }
965 break;
966 case 20:
967 {
968 setState(975);
969 alterService();
970 }
971 break;
972 case 21:
973 {
974 setState(976);
975 alterSchema();
976 }
977 break;
978 case 22:
979 {
980 setState(977);
981 alterView();
982 }
983 break;
984 case 23:
985 {
986 setState(978);
987 dropTable();
988 }
989 break;
990 case 24:
991 {
992 setState(979);
993 dropDatabase();
994 }
995 break;
996 case 25:
997 {
998 setState(980);
999 dropFunction();
1000 }
1001 break;
1002 case 26:
1003 {
1004 setState(981);
1005 dropProcedure();
1006 }
1007 break;
1008 case 27:
1009 {
1010 setState(982);
1011 dropView();
1012 }
1013 break;
1014 case 28:
1015 {
1016 setState(983);
1017 dropTrigger();
1018 }
1019 break;
1020 case 29:
1021 {
1022 setState(984);
1023 dropSequence();
1024 }
1025 break;
1026 case 30:
1027 {
1028 setState(985);
1029 dropService();
1030 }
1031 break;
1032 case 31:
1033 {
1034 setState(986);
1035 dropSchema();
1036 }
1037 break;
1038 case 32:
1039 {
1040 setState(987);
1041 truncateTable();
1042 }
1043 break;
1044 case 33:
1045 {
1046 setState(988);
1047 createFunction();
1048 }
1049 break;
1050 case 34:
1051 {
1052 setState(989);
1053 setTransaction();
1054 }
1055 break;
1056 case 35:
1057 {
1058 setState(990);
1059 beginTransaction();
1060 }
1061 break;
1062 case 36:
1063 {
1064 setState(991);
1065 beginDistributedTransaction();
1066 }
1067 break;
1068 case 37:
1069 {
1070 setState(992);
1071 setImplicitTransactions();
1072 }
1073 break;
1074 case 38:
1075 {
1076 setState(993);
1077 commit();
1078 }
1079 break;
1080 case 39:
1081 {
1082 setState(994);
1083 commitWork();
1084 }
1085 break;
1086 case 40:
1087 {
1088 setState(995);
1089 rollback();
1090 }
1091 break;
1092 case 41:
1093 {
1094 setState(996);
1095 rollbackWork();
1096 }
1097 break;
1098 case 42:
1099 {
1100 setState(997);
1101 savepoint();
1102 }
1103 break;
1104 case 43:
1105 {
1106 setState(998);
1107 grant();
1108 }
1109 break;
1110 case 44:
1111 {
1112 setState(999);
1113 revoke();
1114 }
1115 break;
1116 case 45:
1117 {
1118 setState(1000);
1119 deny();
1120 }
1121 break;
1122 case 46:
1123 {
1124 setState(1001);
1125 createUser();
1126 }
1127 break;
1128 case 47:
1129 {
1130 setState(1002);
1131 dropUser();
1132 }
1133 break;
1134 case 48:
1135 {
1136 setState(1003);
1137 alterUser();
1138 }
1139 break;
1140 case 49:
1141 {
1142 setState(1004);
1143 createRole();
1144 }
1145 break;
1146 case 50:
1147 {
1148 setState(1005);
1149 dropRole();
1150 }
1151 break;
1152 case 51:
1153 {
1154 setState(1006);
1155 alterRole();
1156 }
1157 break;
1158 case 52:
1159 {
1160 setState(1007);
1161 createLogin();
1162 }
1163 break;
1164 case 53:
1165 {
1166 setState(1008);
1167 dropLogin();
1168 }
1169 break;
1170 case 54:
1171 {
1172 setState(1009);
1173 alterLogin();
1174 }
1175 break;
1176 case 55:
1177 {
1178 setState(1010);
1179 call();
1180 }
1181 break;
1182 case 56:
1183 {
1184 setState(1011);
1185 explain();
1186 }
1187 break;
1188 case 57:
1189 {
1190 setState(1012);
1191 setUser();
1192 }
1193 break;
1194 case 58:
1195 {
1196 setState(1013);
1197 revert();
1198 }
1199 break;
1200 }
1201 setState(1017);
1202 _errHandler.sync(this);
1203 _la = _input.LA(1);
1204 if (_la==SEMI_) {
1205 {
1206 setState(1016);
1207 match(SEMI_);
1208 }
1209 }
1210
1211 }
1212 }
1213 catch (RecognitionException re) {
1214 _localctx.exception = re;
1215 _errHandler.reportError(this, re);
1216 _errHandler.recover(this, re);
1217 }
1218 finally {
1219 exitRule();
1220 }
1221 return _localctx;
1222 }
1223
1224 public static class SetTransactionContext extends ParserRuleContext {
1225 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
1226 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1227 public TerminalNode ISOLATION() { return getToken(SQLServerStatementParser.ISOLATION, 0); }
1228 public TerminalNode LEVEL() { return getToken(SQLServerStatementParser.LEVEL, 0); }
1229 public IsolationLevelContext isolationLevel() {
1230 return getRuleContext(IsolationLevelContext.class,0);
1231 }
1232 public SetTransactionContext(ParserRuleContext parent, int invokingState) {
1233 super(parent, invokingState);
1234 }
1235 @Override public int getRuleIndex() { return RULE_setTransaction; }
1236 @Override
1237 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1238 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetTransaction(this);
1239 else return visitor.visitChildren(this);
1240 }
1241 }
1242
1243 public final SetTransactionContext setTransaction() throws RecognitionException {
1244 SetTransactionContext _localctx = new SetTransactionContext(_ctx, getState());
1245 enterRule(_localctx, 2, RULE_setTransaction);
1246 try {
1247 enterOuterAlt(_localctx, 1);
1248 {
1249 setState(1019);
1250 match(SET);
1251 setState(1020);
1252 match(TRANSACTION);
1253 setState(1021);
1254 match(ISOLATION);
1255 setState(1022);
1256 match(LEVEL);
1257 setState(1023);
1258 isolationLevel();
1259 }
1260 }
1261 catch (RecognitionException re) {
1262 _localctx.exception = re;
1263 _errHandler.reportError(this, re);
1264 _errHandler.recover(this, re);
1265 }
1266 finally {
1267 exitRule();
1268 }
1269 return _localctx;
1270 }
1271
1272 public static class IsolationLevelContext extends ParserRuleContext {
1273 public TerminalNode READ() { return getToken(SQLServerStatementParser.READ, 0); }
1274 public TerminalNode UNCOMMITTED() { return getToken(SQLServerStatementParser.UNCOMMITTED, 0); }
1275 public TerminalNode COMMITTED() { return getToken(SQLServerStatementParser.COMMITTED, 0); }
1276 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
1277 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
1278 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
1279 public IsolationLevelContext(ParserRuleContext parent, int invokingState) {
1280 super(parent, invokingState);
1281 }
1282 @Override public int getRuleIndex() { return RULE_isolationLevel; }
1283 @Override
1284 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1285 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIsolationLevel(this);
1286 else return visitor.visitChildren(this);
1287 }
1288 }
1289
1290 public final IsolationLevelContext isolationLevel() throws RecognitionException {
1291 IsolationLevelContext _localctx = new IsolationLevelContext(_ctx, getState());
1292 enterRule(_localctx, 4, RULE_isolationLevel);
1293 try {
1294 setState(1033);
1295 _errHandler.sync(this);
1296 switch ( getInterpreter().adaptivePredict(_input,2,_ctx) ) {
1297 case 1:
1298 enterOuterAlt(_localctx, 1);
1299 {
1300 setState(1025);
1301 match(READ);
1302 setState(1026);
1303 match(UNCOMMITTED);
1304 }
1305 break;
1306 case 2:
1307 enterOuterAlt(_localctx, 2);
1308 {
1309 setState(1027);
1310 match(READ);
1311 setState(1028);
1312 match(COMMITTED);
1313 }
1314 break;
1315 case 3:
1316 enterOuterAlt(_localctx, 3);
1317 {
1318 setState(1029);
1319 match(REPEATABLE);
1320 setState(1030);
1321 match(READ);
1322 }
1323 break;
1324 case 4:
1325 enterOuterAlt(_localctx, 4);
1326 {
1327 setState(1031);
1328 match(SNAPSHOT);
1329 }
1330 break;
1331 case 5:
1332 enterOuterAlt(_localctx, 5);
1333 {
1334 setState(1032);
1335 match(SERIALIZABLE);
1336 }
1337 break;
1338 }
1339 }
1340 catch (RecognitionException re) {
1341 _localctx.exception = re;
1342 _errHandler.reportError(this, re);
1343 _errHandler.recover(this, re);
1344 }
1345 finally {
1346 exitRule();
1347 }
1348 return _localctx;
1349 }
1350
1351 public static class SetImplicitTransactionsContext extends ParserRuleContext {
1352 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
1353 public TerminalNode IMPLICIT_TRANSACTIONS() { return getToken(SQLServerStatementParser.IMPLICIT_TRANSACTIONS, 0); }
1354 public ImplicitTransactionsValueContext implicitTransactionsValue() {
1355 return getRuleContext(ImplicitTransactionsValueContext.class,0);
1356 }
1357 public SetImplicitTransactionsContext(ParserRuleContext parent, int invokingState) {
1358 super(parent, invokingState);
1359 }
1360 @Override public int getRuleIndex() { return RULE_setImplicitTransactions; }
1361 @Override
1362 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1363 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetImplicitTransactions(this);
1364 else return visitor.visitChildren(this);
1365 }
1366 }
1367
1368 public final SetImplicitTransactionsContext setImplicitTransactions() throws RecognitionException {
1369 SetImplicitTransactionsContext _localctx = new SetImplicitTransactionsContext(_ctx, getState());
1370 enterRule(_localctx, 6, RULE_setImplicitTransactions);
1371 try {
1372 enterOuterAlt(_localctx, 1);
1373 {
1374 setState(1035);
1375 match(SET);
1376 setState(1036);
1377 match(IMPLICIT_TRANSACTIONS);
1378 setState(1037);
1379 implicitTransactionsValue();
1380 }
1381 }
1382 catch (RecognitionException re) {
1383 _localctx.exception = re;
1384 _errHandler.reportError(this, re);
1385 _errHandler.recover(this, re);
1386 }
1387 finally {
1388 exitRule();
1389 }
1390 return _localctx;
1391 }
1392
1393 public static class ImplicitTransactionsValueContext extends ParserRuleContext {
1394 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
1395 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
1396 public ImplicitTransactionsValueContext(ParserRuleContext parent, int invokingState) {
1397 super(parent, invokingState);
1398 }
1399 @Override public int getRuleIndex() { return RULE_implicitTransactionsValue; }
1400 @Override
1401 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1402 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitImplicitTransactionsValue(this);
1403 else return visitor.visitChildren(this);
1404 }
1405 }
1406
1407 public final ImplicitTransactionsValueContext implicitTransactionsValue() throws RecognitionException {
1408 ImplicitTransactionsValueContext _localctx = new ImplicitTransactionsValueContext(_ctx, getState());
1409 enterRule(_localctx, 8, RULE_implicitTransactionsValue);
1410 int _la;
1411 try {
1412 enterOuterAlt(_localctx, 1);
1413 {
1414 setState(1039);
1415 _la = _input.LA(1);
1416 if ( !(_la==ON || _la==OFF) ) {
1417 _errHandler.recoverInline(this);
1418 }
1419 else {
1420 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1421 _errHandler.reportMatch(this);
1422 consume();
1423 }
1424 }
1425 }
1426 catch (RecognitionException re) {
1427 _localctx.exception = re;
1428 _errHandler.reportError(this, re);
1429 _errHandler.recover(this, re);
1430 }
1431 finally {
1432 exitRule();
1433 }
1434 return _localctx;
1435 }
1436
1437 public static class BeginTransactionContext extends ParserRuleContext {
1438 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
1439 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1440 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1441 public TransactionNameContext transactionName() {
1442 return getRuleContext(TransactionNameContext.class,0);
1443 }
1444 public TransactionVariableNameContext transactionVariableName() {
1445 return getRuleContext(TransactionVariableNameContext.class,0);
1446 }
1447 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
1448 public TerminalNode MARK() { return getToken(SQLServerStatementParser.MARK, 0); }
1449 public StringLiteralsContext stringLiterals() {
1450 return getRuleContext(StringLiteralsContext.class,0);
1451 }
1452 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
1453 public BeginTransactionContext(ParserRuleContext parent, int invokingState) {
1454 super(parent, invokingState);
1455 }
1456 @Override public int getRuleIndex() { return RULE_beginTransaction; }
1457 @Override
1458 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1459 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBeginTransaction(this);
1460 else return visitor.visitChildren(this);
1461 }
1462 }
1463
1464 public final BeginTransactionContext beginTransaction() throws RecognitionException {
1465 BeginTransactionContext _localctx = new BeginTransactionContext(_ctx, getState());
1466 enterRule(_localctx, 10, RULE_beginTransaction);
1467 int _la;
1468 try {
1469 enterOuterAlt(_localctx, 1);
1470 {
1471 setState(1041);
1472 match(BEGIN);
1473 setState(1042);
1474 _la = _input.LA(1);
1475 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1476 _errHandler.recoverInline(this);
1477 }
1478 else {
1479 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1480 _errHandler.reportMatch(this);
1481 consume();
1482 }
1483 setState(1055);
1484 _errHandler.sync(this);
1485 _la = _input.LA(1);
1486 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (GROUP - 53)))) != 0) || ((((_la - 121)) & ~0x3f) == 0 && ((1L << (_la - 121)) & ((1L << (LIMIT - 121)) | (1L << (OFFSET - 121)) | (1L << (SAVEPOINT - 121)) | (1L << (BOOLEAN - 121)) | (1L << (ARRAY - 121)) | (1L << (DATE - 121)) | (1L << (LOCALTIME - 121)) | (1L << (LOCALTIMESTAMP - 121)) | (1L << (QUARTER - 121)) | (1L << (WEEK - 121)) | (1L << (DAY - 121)) | (1L << (MICROSECOND - 121)) | (1L << (MAX - 121)) | (1L << (MIN - 121)) | (1L << (SUM - 121)) | (1L << (COUNT - 121)) | (1L << (AVG - 121)) | (1L << (ENABLE - 121)) | (1L << (DISABLE - 121)) | (1L << (INSTANCE - 121)) | (1L << (DO - 121)) | (1L << (DEFINER - 121)) | (1L << (SQL - 121)) | (1L << (CASCADED - 121)) | (1L << (LOCAL - 121)) | (1L << (NEXT - 121)) | (1L << (NAME - 121)) | (1L << (INTEGER - 121)) | (1L << (TYPE - 121)))) != 0) || ((((_la - 201)) & ~0x3f) == 0 && ((1L << (_la - 201)) & ((1L << (READ_ONLY - 201)) | (1L << (DATABASE - 201)) | (1L << (DATEPART - 201)) | (1L << (PASSWORD - 201)) | (1L << (BINARY - 201)) | (1L << (HIDDEN_ - 201)) | (1L << (MOD - 201)) | (1L << (PARTITION - 201)) | (1L << (PARTITIONS - 201)) | (1L << (TOP - 201)) | (1L << (ROW - 201)) | (1L << (ROWS - 201)) | (1L << (XOR - 201)) | (1L << (ALWAYS - 201)) | (1L << (ROLE - 201)) | (1L << (START - 201)) | (1L << (ALGORITHM - 201)) | (1L << (AUTO - 201)) | (1L << (BLOCKERS - 201)) | (1L << (CLUSTERED - 201)) | (1L << (NONCLUSTERED - 201)) | (1L << (COLUMNSTORE - 201)) | (1L << (CONTENT - 201)) | (1L << (YEARS - 201)) | (1L << (MONTHS - 201)) | (1L << (WEEKS - 201)) | (1L << (DAYS - 201)) | (1L << (MINUTES - 201)) | (1L << (DENY - 201)) | (1L << (DETERMINISTIC - 201)) | (1L << (DISTRIBUTION - 201)) | (1L << (DOCUMENT - 201)) | (1L << (DURABILITY - 201)) | (1L << (ENCRYPTED - 201)) | (1L << (FILESTREAM - 201)) | (1L << (FILETABLE - 201)) | (1L << (FILLFACTOR - 201)) | (1L << (FOLLOWING - 201)) | (1L << (HASH - 201)) | (1L << (HEAP - 201)))) != 0) || ((((_la - 266)) & ~0x3f) == 0 && ((1L << (_la - 266)) & ((1L << (INBOUND - 266)) | (1L << (OUTBOUND - 266)) | (1L << (UNBOUNDED - 266)) | (1L << (INFINITE - 266)) | (1L << (LOGIN - 266)) | (1L << (MASKED - 266)) | (1L << (MAXDOP - 266)) | (1L << (MOVE - 266)) | (1L << (NOCHECK - 266)) | (1L << (OBJECT - 266)) | (1L << (OFF - 266)) | (1L << (ONLINE - 266)) | (1L << (OVER - 266)) | (1L << (PAGE - 266)) | (1L << (PAUSED - 266)) | (1L << (PERIOD - 266)) | (1L << (PERSISTED - 266)) | (1L << (PRECEDING - 266)) | (1L << (RANDOMIZED - 266)) | (1L << (RANGE - 266)) | (1L << (REBUILD - 266)) | (1L << (REPLICATE - 266)) | (1L << (REPLICATION - 266)) | (1L << (RESUMABLE - 266)) | (1L << (ROWGUIDCOL - 266)) | (1L << (SAVE - 266)) | (1L << (SELF - 266)) | (1L << (SPARSE - 266)) | (1L << (SWITCH - 266)) | (1L << (TRAN - 266)) | (1L << (TRANCOUNT - 266)) | (1L << (CONTROL - 266)) | (1L << (CONCAT - 266)) | (1L << (TAKE - 266)) | (1L << (OWNERSHIP - 266)) | (1L << (DEFINITION - 266)) | (1L << (APPLICATION - 266)) | (1L << (ASSEMBLY - 266)) | (1L << (SYMMETRIC - 266)) | (1L << (ASYMMETRIC - 266)) | (1L << (SERVER - 266)) | (1L << (RECEIVE - 266)) | (1L << (CHANGE - 266)) | (1L << (TRACE - 266)) | (1L << (TRACKING - 266)) | (1L << (RESOURCES - 266)) | (1L << (SETTINGS - 266)) | (1L << (STATE - 266)) | (1L << (AVAILABILITY - 266)) | (1L << (CREDENTIAL - 266)) | (1L << (ENDPOINT - 266)) | (1L << (EVENT - 266)) | (1L << (NOTIFICATION - 266)) | (1L << (LINKED - 266)) | (1L << (AUDIT - 266)) | (1L << (DDL - 266)))) != 0) || ((((_la - 330)) & ~0x3f) == 0 && ((1L << (_la - 330)) & ((1L << (XML - 330)) | (1L << (IMPERSONATE - 330)) | (1L << (SECURABLES - 330)) | (1L << (AUTHENTICATE - 330)) | (1L << (EXTERNAL - 330)) | (1L << (ACCESS - 330)) | (1L << (ADMINISTER - 330)) | (1L << (BULK - 330)) | (1L << (OPERATIONS - 330)) | (1L << (UNSAFE - 330)) | (1L << (SHUTDOWN - 330)) | (1L << (SCOPED - 330)) | (1L << (CONFIGURATION - 330)) | (1L << (DATASPACE - 330)) | (1L << (SERVICE - 330)) | (1L << (CERTIFICATE - 330)) | (1L << (CONTRACT - 330)) | (1L << (ENCRYPTION - 330)) | (1L << (MASTER - 330)) | (1L << (DATA - 330)) | (1L << (SOURCE - 330)) | (1L << (FILE - 330)) | (1L << (FORMAT - 330)) | (1L << (LIBRARY - 330)) | (1L << (FULLTEXT - 330)) | (1L << (MASK - 330)) | (1L << (UNMASK - 330)) | (1L << (MESSAGE - 330)) | (1L << (REMOTE - 330)) | (1L << (BINDING - 330)) | (1L << (ROUTE - 330)) | (1L << (SECURITY - 330)) | (1L << (POLICY - 330)) | (1L << (AGGREGATE - 330)) | (1L << (QUEUE - 330)) | (1L << (RULE - 330)) | (1L << (SYNONYM - 330)) | (1L << (COLLECTION - 330)) | (1L << (SCRIPT - 330)) | (1L << (KILL - 330)) | (1L << (BACKUP - 330)) | (1L << (LOG - 330)) | (1L << (SHOWPLAN - 330)) | (1L << (SUBSCRIBE - 330)) | (1L << (QUERY - 330)) | (1L << (NOTIFICATIONS - 330)) | (1L << (CHECKPOINT - 330)) | (1L << (SEQUENCE - 330)) | (1L << (ABORT_AFTER_WAIT - 330)) | (1L << (ALLOW_PAGE_LOCKS - 330)) | (1L << (ALLOW_ROW_LOCKS - 330)) | (1L << (ALL_SPARSE_COLUMNS - 330)) | (1L << (BUCKET_COUNT - 330)) | (1L << (COLUMNSTORE_ARCHIVE - 330)) | (1L << (COLUMN_ENCRYPTION_KEY - 330)) | (1L << (COLUMN_SET - 330)) | (1L << (COMPRESSION_DELAY - 330)) | (1L << (DATABASE_DEAULT - 330)) | (1L << (DATA_COMPRESSION - 330)) | (1L << (DATA_CONSISTENCY_CHECK - 330)) | (1L << (ENCRYPTION_TYPE - 330)) | (1L << (SYSTEM_TIME - 330)) | (1L << (SYSTEM_VERSIONING - 330)) | (1L << (TEXTIMAGE_ON - 330)))) != 0) || ((((_la - 394)) & ~0x3f) == 0 && ((1L << (_la - 394)) & ((1L << (WAIT_AT_LOW_PRIORITY - 394)) | (1L << (STATISTICS_INCREMENTAL - 394)) | (1L << (STATISTICS_NORECOMPUTE - 394)) | (1L << (ROUND_ROBIN - 394)) | (1L << (SCHEMA_AND_DATA - 394)) | (1L << (SCHEMA_ONLY - 394)) | (1L << (SORT_IN_TEMPDB - 394)) | (1L << (IGNORE_DUP_KEY - 394)) | (1L << (IMPLICIT_TRANSACTIONS - 394)) | (1L << (MAX_DURATION - 394)) | (1L << (MEMORY_OPTIMIZED - 394)) | (1L << (MIGRATION_STATE - 394)) | (1L << (PAD_INDEX - 394)) | (1L << (REMOTE_DATA_ARCHIVE - 394)) | (1L << (FILESTREAM_ON - 394)) | (1L << (FILETABLE_COLLATE_FILENAME - 394)) | (1L << (FILETABLE_DIRECTORY - 394)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILTER_PREDICATE - 394)) | (1L << (HISTORY_RETENTION_PERIOD - 394)) | (1L << (HISTORY_TABLE - 394)) | (1L << (LOCK_ESCALATION - 394)) | (1L << (DROP_EXISTING - 394)) | (1L << (ROW_NUMBER - 394)) | (1L << (FIRST - 394)) | (1L << (DATETIME2 - 394)) | (1L << (OUTPUT - 394)) | (1L << (INSERTED - 394)) | (1L << (DELETED - 394)))) != 0) || ((((_la - 478)) & ~0x3f) == 0 && ((1L << (_la - 478)) & ((1L << (FILENAME - 478)) | (1L << (MAXSIZE - 478)) | (1L << (FILEGROWTH - 478)) | (1L << (UNLIMITED - 478)) | (1L << (KB - 478)) | (1L << (MB - 478)) | (1L << (GB - 478)) | (1L << (TB - 478)) | (1L << (MEMORY_OPTIMIZED_DATA - 478)) | (1L << (FILEGROUP - 478)) | (1L << (NON_TRANSACTED_ACCESS - 478)) | (1L << (DB_CHAINING - 478)) | (1L << (TRUSTWORTHY - 478)) | (1L << (FORWARD_ONLY - 478)) | (1L << (KEYSET - 478)) | (1L << (FAST_FORWARD - 478)) | (1L << (SCROLL_LOCKS - 478)) | (1L << (OPTIMISTIC - 478)) | (1L << (TYPE_WARNING - 478)) | (1L << (SCHEMABINDING - 478)) | (1L << (CALLER - 478)) | (1L << (OWNER - 478)) | (1L << (SNAPSHOT - 478)) | (1L << (REPEATABLE - 478)) | (1L << (SERIALIZABLE - 478)) | (1L << (NATIVE_COMPILATION - 478)) | (1L << (VIEW_METADATA - 478)) | (1L << (INSTEAD - 478)) | (1L << (APPEND - 478)) | (1L << (INCREMENT - 478)) | (1L << (CACHE - 478)) | (1L << (MINVALUE - 478)) | (1L << (MAXVALUE - 478)) | (1L << (RESTART - 478)) | (1L << (LOB_COMPACTION - 478)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 478)) | (1L << (REORGANIZE - 478)) | (1L << (RESUME - 478)) | (1L << (PAUSE - 478)) | (1L << (ABORT - 478)))) != 0) || ((((_la - 544)) & ~0x3f) == 0 && ((1L << (_la - 544)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 544)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 544)) | (1L << (IMMEDIATE - 544)) | (1L << (NO_WAIT - 544)) | (1L << (TARGET_RECOVERY_TIME - 544)) | (1L << (SECONDS - 544)) | (1L << (HONOR_BROKER_PRIORITY - 544)) | (1L << (ERROR_BROKER_CONVERSATIONS - 544)) | (1L << (NEW_BROKER - 544)) | (1L << (DISABLE_BROKER - 544)) | (1L << (ENABLE_BROKER - 544)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 544)) | (1L << (READ_COMMITTED_SNAPSHOT - 544)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 544)) | (1L << (RECURSIVE_TRIGGERS - 544)) | (1L << (QUOTED_IDENTIFIER - 544)) | (1L << (NUMERIC_ROUNDABORT - 544)) | (1L << (CONCAT_NULL_YIELDS_NULL - 544)) | (1L << (COMPATIBILITY_LEVEL - 544)) | (1L << (ARITHABORT - 544)) | (1L << (ANSI_WARNINGS - 544)) | (1L << (ANSI_PADDING - 544)) | (1L << (ANSI_NULLS - 544)) | (1L << (ANSI_NULL_DEFAULT - 544)) | (1L << (PAGE_VERIFY - 544)) | (1L << (CHECKSUM - 544)) | (1L << (TORN_PAGE_DETECTION - 544)) | (1L << (BULK_LOGGED - 544)) | (1L << (RECOVERY - 544)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 544)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 544)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 544)) | (1L << (EXECUTION_COUNT - 544)) | (1L << (QUERY_CAPTURE_POLICY - 544)) | (1L << (WAIT_STATS_CAPTURE_MODE - 544)) | (1L << (MAX_PLANS_PER_QUERY - 544)) | (1L << (QUERY_CAPTURE_MODE - 544)) | (1L << (SIZE_BASED_CLEANUP_MODE - 544)) | (1L << (INTERVAL_LENGTH_MINUTES - 544)) | (1L << (MAX_STORAGE_SIZE_MB - 544)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 544)) | (1L << (CLEANUP_POLICY - 544)) | (1L << (CUSTOM - 544)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 544)) | (1L << (OPERATION_MODE - 544)) | (1L << (QUERY_STORE - 544)) | (1L << (CURSOR_DEFAULT - 544)) | (1L << (GLOBAL - 544)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 544)) | (1L << (HOURS - 544)) | (1L << (CHANGE_RETENTION - 544)) | (1L << (AUTO_CLEANUP - 544)) | (1L << (CHANGE_TRACKING - 544)) | (1L << (AUTOMATIC_TUNING - 544)) | (1L << (FORCE_LAST_GOOD_PLAN - 544)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 544)) | (1L << (AUTO_UPDATE_STATISTICS - 544)) | (1L << (AUTO_SHRINK - 544)) | (1L << (AUTO_CREATE_STATISTICS - 544)) | (1L << (INCREMENTAL - 544)) | (1L << (AUTO_CLOSE - 544)) | (1L << (DATA_RETENTION - 544)) | (1L << (TEMPORAL_HISTORY_RETENTION - 544)) | (1L << (EDITION - 544)))) != 0) || ((((_la - 608)) & ~0x3f) == 0 && ((1L << (_la - 608)) & ((1L << (MIXED_PAGE_ALLOCATION - 608)) | (1L << (DISABLED - 608)) | (1L << (ALLOWED - 608)) | (1L << (HADR - 608)) | (1L << (MULTI_USER - 608)) | (1L << (RESTRICTED_USER - 608)) | (1L << (SINGLE_USER - 608)) | (1L << (OFFLINE - 608)) | (1L << (EMERGENCY - 608)) | (1L << (SUSPEND - 608)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 608)) | (1L << (ELASTIC_POOL - 608)) | (1L << (SERVICE_OBJECTIVE - 608)) | (1L << (DATABASE_NAME - 608)) | (1L << (ALLOW_CONNECTIONS - 608)) | (1L << (GEO - 608)) | (1L << (NAMED - 608)) | (1L << (DATEFIRST - 608)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 608)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 608)) | (1L << (SECONDARY - 608)) | (1L << (FAILOVER - 608)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 608)) | (1L << (DEFAULT_LANGUAGE - 608)) | (1L << (INLINE - 608)) | (1L << (NESTED_TRIGGERS - 608)) | (1L << (TRANSFORM_NOISE_WORDS - 608)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 608)) | (1L << (PERSISTENT_LOG_BUFFER - 608)) | (1L << (DIRECTORY_NAME - 608)) | (1L << (DATEFORMAT - 608)) | (1L << (DELAYED_DURABILITY - 608)) | (1L << (AUTHORIZATION - 608)) | (1L << (TRANSFER - 608)) | (1L << (SEARCH - 608)) | (1L << (MEMBER - 608)))) != 0) || _la==IDENTIFIER_ || _la==DELIMITED_IDENTIFIER_) {
1487 {
1488 setState(1045);
1489 _errHandler.sync(this);
1490 switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) {
1491 case 1:
1492 {
1493 setState(1043);
1494 transactionName();
1495 }
1496 break;
1497 case 2:
1498 {
1499 setState(1044);
1500 transactionVariableName();
1501 }
1502 break;
1503 }
1504 setState(1053);
1505 _errHandler.sync(this);
1506 _la = _input.LA(1);
1507 if (_la==WITH) {
1508 {
1509 setState(1047);
1510 match(WITH);
1511 setState(1048);
1512 match(MARK);
1513 setState(1051);
1514 _errHandler.sync(this);
1515 switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
1516 case 1:
1517 {
1518 setState(1049);
1519 stringLiterals();
1520 }
1521 break;
1522 case 2:
1523 {
1524 setState(1050);
1525 match(NCHAR_TEXT);
1526 }
1527 break;
1528 }
1529 }
1530 }
1531
1532 }
1533 }
1534
1535 }
1536 }
1537 catch (RecognitionException re) {
1538 _localctx.exception = re;
1539 _errHandler.reportError(this, re);
1540 _errHandler.recover(this, re);
1541 }
1542 finally {
1543 exitRule();
1544 }
1545 return _localctx;
1546 }
1547
1548 public static class BeginDistributedTransactionContext extends ParserRuleContext {
1549 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
1550 public TerminalNode DISTRIBUTED() { return getToken(SQLServerStatementParser.DISTRIBUTED, 0); }
1551 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1552 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1553 public TransactionNameContext transactionName() {
1554 return getRuleContext(TransactionNameContext.class,0);
1555 }
1556 public TransactionVariableNameContext transactionVariableName() {
1557 return getRuleContext(TransactionVariableNameContext.class,0);
1558 }
1559 public BeginDistributedTransactionContext(ParserRuleContext parent, int invokingState) {
1560 super(parent, invokingState);
1561 }
1562 @Override public int getRuleIndex() { return RULE_beginDistributedTransaction; }
1563 @Override
1564 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1565 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBeginDistributedTransaction(this);
1566 else return visitor.visitChildren(this);
1567 }
1568 }
1569
1570 public final BeginDistributedTransactionContext beginDistributedTransaction() throws RecognitionException {
1571 BeginDistributedTransactionContext _localctx = new BeginDistributedTransactionContext(_ctx, getState());
1572 enterRule(_localctx, 12, RULE_beginDistributedTransaction);
1573 int _la;
1574 try {
1575 enterOuterAlt(_localctx, 1);
1576 {
1577 setState(1057);
1578 match(BEGIN);
1579 setState(1058);
1580 match(DISTRIBUTED);
1581 setState(1059);
1582 _la = _input.LA(1);
1583 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1584 _errHandler.recoverInline(this);
1585 }
1586 else {
1587 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1588 _errHandler.reportMatch(this);
1589 consume();
1590 }
1591 setState(1062);
1592 _errHandler.sync(this);
1593 switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
1594 case 1:
1595 {
1596 setState(1060);
1597 transactionName();
1598 }
1599 break;
1600 case 2:
1601 {
1602 setState(1061);
1603 transactionVariableName();
1604 }
1605 break;
1606 }
1607 }
1608 }
1609 catch (RecognitionException re) {
1610 _localctx.exception = re;
1611 _errHandler.reportError(this, re);
1612 _errHandler.recover(this, re);
1613 }
1614 finally {
1615 exitRule();
1616 }
1617 return _localctx;
1618 }
1619
1620 public static class CommitContext extends ParserRuleContext {
1621 public TerminalNode COMMIT() { return getToken(SQLServerStatementParser.COMMIT, 0); }
1622 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
1623 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
1624 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
1625 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
1626 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
1627 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1628 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1629 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
1630 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
1631 public TransactionNameContext transactionName() {
1632 return getRuleContext(TransactionNameContext.class,0);
1633 }
1634 public TransactionVariableNameContext transactionVariableName() {
1635 return getRuleContext(TransactionVariableNameContext.class,0);
1636 }
1637 public CommitContext(ParserRuleContext parent, int invokingState) {
1638 super(parent, invokingState);
1639 }
1640 @Override public int getRuleIndex() { return RULE_commit; }
1641 @Override
1642 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1643 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommit(this);
1644 else return visitor.visitChildren(this);
1645 }
1646 }
1647
1648 public final CommitContext commit() throws RecognitionException {
1649 CommitContext _localctx = new CommitContext(_ctx, getState());
1650 enterRule(_localctx, 14, RULE_commit);
1651 int _la;
1652 try {
1653 enterOuterAlt(_localctx, 1);
1654 {
1655 setState(1064);
1656 match(COMMIT);
1657 setState(1070);
1658 _errHandler.sync(this);
1659 _la = _input.LA(1);
1660 if (_la==TRANSACTION || _la==TRAN) {
1661 {
1662 setState(1065);
1663 _la = _input.LA(1);
1664 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1665 _errHandler.recoverInline(this);
1666 }
1667 else {
1668 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1669 _errHandler.reportMatch(this);
1670 consume();
1671 }
1672 setState(1068);
1673 _errHandler.sync(this);
1674 switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
1675 case 1:
1676 {
1677 setState(1066);
1678 transactionName();
1679 }
1680 break;
1681 case 2:
1682 {
1683 setState(1067);
1684 transactionVariableName();
1685 }
1686 break;
1687 }
1688 }
1689 }
1690
1691 setState(1078);
1692 _errHandler.sync(this);
1693 _la = _input.LA(1);
1694 if (_la==WITH) {
1695 {
1696 setState(1072);
1697 match(WITH);
1698 setState(1073);
1699 match(LP_);
1700 setState(1074);
1701 match(DELAYED_DURABILITY);
1702 setState(1075);
1703 match(EQ_);
1704 setState(1076);
1705 _la = _input.LA(1);
1706 if ( !(_la==ON || _la==OFF) ) {
1707 _errHandler.recoverInline(this);
1708 }
1709 else {
1710 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1711 _errHandler.reportMatch(this);
1712 consume();
1713 }
1714 setState(1077);
1715 match(RP_);
1716 }
1717 }
1718
1719 }
1720 }
1721 catch (RecognitionException re) {
1722 _localctx.exception = re;
1723 _errHandler.reportError(this, re);
1724 _errHandler.recover(this, re);
1725 }
1726 finally {
1727 exitRule();
1728 }
1729 return _localctx;
1730 }
1731
1732 public static class CommitWorkContext extends ParserRuleContext {
1733 public TerminalNode COMMIT() { return getToken(SQLServerStatementParser.COMMIT, 0); }
1734 public TerminalNode WORK() { return getToken(SQLServerStatementParser.WORK, 0); }
1735 public CommitWorkContext(ParserRuleContext parent, int invokingState) {
1736 super(parent, invokingState);
1737 }
1738 @Override public int getRuleIndex() { return RULE_commitWork; }
1739 @Override
1740 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1741 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommitWork(this);
1742 else return visitor.visitChildren(this);
1743 }
1744 }
1745
1746 public final CommitWorkContext commitWork() throws RecognitionException {
1747 CommitWorkContext _localctx = new CommitWorkContext(_ctx, getState());
1748 enterRule(_localctx, 16, RULE_commitWork);
1749 int _la;
1750 try {
1751 enterOuterAlt(_localctx, 1);
1752 {
1753 setState(1080);
1754 match(COMMIT);
1755 setState(1082);
1756 _errHandler.sync(this);
1757 _la = _input.LA(1);
1758 if (_la==WORK) {
1759 {
1760 setState(1081);
1761 match(WORK);
1762 }
1763 }
1764
1765 }
1766 }
1767 catch (RecognitionException re) {
1768 _localctx.exception = re;
1769 _errHandler.reportError(this, re);
1770 _errHandler.recover(this, re);
1771 }
1772 finally {
1773 exitRule();
1774 }
1775 return _localctx;
1776 }
1777
1778 public static class RollbackContext extends ParserRuleContext {
1779 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
1780 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1781 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1782 public TransactionNameContext transactionName() {
1783 return getRuleContext(TransactionNameContext.class,0);
1784 }
1785 public TransactionVariableNameContext transactionVariableName() {
1786 return getRuleContext(TransactionVariableNameContext.class,0);
1787 }
1788 public SavepointNameContext savepointName() {
1789 return getRuleContext(SavepointNameContext.class,0);
1790 }
1791 public SavepointVariableNameContext savepointVariableName() {
1792 return getRuleContext(SavepointVariableNameContext.class,0);
1793 }
1794 public RollbackContext(ParserRuleContext parent, int invokingState) {
1795 super(parent, invokingState);
1796 }
1797 @Override public int getRuleIndex() { return RULE_rollback; }
1798 @Override
1799 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1800 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRollback(this);
1801 else return visitor.visitChildren(this);
1802 }
1803 }
1804
1805 public final RollbackContext rollback() throws RecognitionException {
1806 RollbackContext _localctx = new RollbackContext(_ctx, getState());
1807 enterRule(_localctx, 18, RULE_rollback);
1808 int _la;
1809 try {
1810 enterOuterAlt(_localctx, 1);
1811 {
1812 setState(1084);
1813 match(ROLLBACK);
1814 setState(1085);
1815 _la = _input.LA(1);
1816 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1817 _errHandler.recoverInline(this);
1818 }
1819 else {
1820 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1821 _errHandler.reportMatch(this);
1822 consume();
1823 }
1824 setState(1090);
1825 _errHandler.sync(this);
1826 switch ( getInterpreter().adaptivePredict(_input,12,_ctx) ) {
1827 case 1:
1828 {
1829 setState(1086);
1830 transactionName();
1831 }
1832 break;
1833 case 2:
1834 {
1835 setState(1087);
1836 transactionVariableName();
1837 }
1838 break;
1839 case 3:
1840 {
1841 setState(1088);
1842 savepointName();
1843 }
1844 break;
1845 case 4:
1846 {
1847 setState(1089);
1848 savepointVariableName();
1849 }
1850 break;
1851 }
1852 }
1853 }
1854 catch (RecognitionException re) {
1855 _localctx.exception = re;
1856 _errHandler.reportError(this, re);
1857 _errHandler.recover(this, re);
1858 }
1859 finally {
1860 exitRule();
1861 }
1862 return _localctx;
1863 }
1864
1865 public static class RollbackWorkContext extends ParserRuleContext {
1866 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
1867 public TerminalNode WORK() { return getToken(SQLServerStatementParser.WORK, 0); }
1868 public RollbackWorkContext(ParserRuleContext parent, int invokingState) {
1869 super(parent, invokingState);
1870 }
1871 @Override public int getRuleIndex() { return RULE_rollbackWork; }
1872 @Override
1873 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1874 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRollbackWork(this);
1875 else return visitor.visitChildren(this);
1876 }
1877 }
1878
1879 public final RollbackWorkContext rollbackWork() throws RecognitionException {
1880 RollbackWorkContext _localctx = new RollbackWorkContext(_ctx, getState());
1881 enterRule(_localctx, 20, RULE_rollbackWork);
1882 int _la;
1883 try {
1884 enterOuterAlt(_localctx, 1);
1885 {
1886 setState(1092);
1887 match(ROLLBACK);
1888 setState(1094);
1889 _errHandler.sync(this);
1890 _la = _input.LA(1);
1891 if (_la==WORK) {
1892 {
1893 setState(1093);
1894 match(WORK);
1895 }
1896 }
1897
1898 }
1899 }
1900 catch (RecognitionException re) {
1901 _localctx.exception = re;
1902 _errHandler.reportError(this, re);
1903 _errHandler.recover(this, re);
1904 }
1905 finally {
1906 exitRule();
1907 }
1908 return _localctx;
1909 }
1910
1911 public static class SavepointContext extends ParserRuleContext {
1912 public TerminalNode SAVE() { return getToken(SQLServerStatementParser.SAVE, 0); }
1913 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
1914 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
1915 public SavepointNameContext savepointName() {
1916 return getRuleContext(SavepointNameContext.class,0);
1917 }
1918 public SavepointVariableNameContext savepointVariableName() {
1919 return getRuleContext(SavepointVariableNameContext.class,0);
1920 }
1921 public SavepointContext(ParserRuleContext parent, int invokingState) {
1922 super(parent, invokingState);
1923 }
1924 @Override public int getRuleIndex() { return RULE_savepoint; }
1925 @Override
1926 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1927 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepoint(this);
1928 else return visitor.visitChildren(this);
1929 }
1930 }
1931
1932 public final SavepointContext savepoint() throws RecognitionException {
1933 SavepointContext _localctx = new SavepointContext(_ctx, getState());
1934 enterRule(_localctx, 22, RULE_savepoint);
1935 int _la;
1936 try {
1937 enterOuterAlt(_localctx, 1);
1938 {
1939 setState(1096);
1940 match(SAVE);
1941 setState(1097);
1942 _la = _input.LA(1);
1943 if ( !(_la==TRANSACTION || _la==TRAN) ) {
1944 _errHandler.recoverInline(this);
1945 }
1946 else {
1947 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
1948 _errHandler.reportMatch(this);
1949 consume();
1950 }
1951 setState(1100);
1952 _errHandler.sync(this);
1953 switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
1954 case 1:
1955 {
1956 setState(1098);
1957 savepointName();
1958 }
1959 break;
1960 case 2:
1961 {
1962 setState(1099);
1963 savepointVariableName();
1964 }
1965 break;
1966 }
1967 }
1968 }
1969 catch (RecognitionException re) {
1970 _localctx.exception = re;
1971 _errHandler.reportError(this, re);
1972 _errHandler.recover(this, re);
1973 }
1974 finally {
1975 exitRule();
1976 }
1977 return _localctx;
1978 }
1979
1980 public static class ParameterMarkerContext extends ParserRuleContext {
1981 public TerminalNode QUESTION_() { return getToken(SQLServerStatementParser.QUESTION_, 0); }
1982 public ParameterMarkerContext(ParserRuleContext parent, int invokingState) {
1983 super(parent, invokingState);
1984 }
1985 @Override public int getRuleIndex() { return RULE_parameterMarker; }
1986 @Override
1987 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
1988 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitParameterMarker(this);
1989 else return visitor.visitChildren(this);
1990 }
1991 }
1992
1993 public final ParameterMarkerContext parameterMarker() throws RecognitionException {
1994 ParameterMarkerContext _localctx = new ParameterMarkerContext(_ctx, getState());
1995 enterRule(_localctx, 24, RULE_parameterMarker);
1996 try {
1997 enterOuterAlt(_localctx, 1);
1998 {
1999 setState(1102);
2000 match(QUESTION_);
2001 }
2002 }
2003 catch (RecognitionException re) {
2004 _localctx.exception = re;
2005 _errHandler.reportError(this, re);
2006 _errHandler.recover(this, re);
2007 }
2008 finally {
2009 exitRule();
2010 }
2011 return _localctx;
2012 }
2013
2014 public static class LiteralsContext extends ParserRuleContext {
2015 public StringLiteralsContext stringLiterals() {
2016 return getRuleContext(StringLiteralsContext.class,0);
2017 }
2018 public NumberLiteralsContext numberLiterals() {
2019 return getRuleContext(NumberLiteralsContext.class,0);
2020 }
2021 public DateTimeLiteralsContext dateTimeLiterals() {
2022 return getRuleContext(DateTimeLiteralsContext.class,0);
2023 }
2024 public HexadecimalLiteralsContext hexadecimalLiterals() {
2025 return getRuleContext(HexadecimalLiteralsContext.class,0);
2026 }
2027 public BitValueLiteralsContext bitValueLiterals() {
2028 return getRuleContext(BitValueLiteralsContext.class,0);
2029 }
2030 public BooleanLiteralsContext booleanLiterals() {
2031 return getRuleContext(BooleanLiteralsContext.class,0);
2032 }
2033 public NullValueLiteralsContext nullValueLiterals() {
2034 return getRuleContext(NullValueLiteralsContext.class,0);
2035 }
2036 public LiteralsContext(ParserRuleContext parent, int invokingState) {
2037 super(parent, invokingState);
2038 }
2039 @Override public int getRuleIndex() { return RULE_literals; }
2040 @Override
2041 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2042 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLiterals(this);
2043 else return visitor.visitChildren(this);
2044 }
2045 }
2046
2047 public final LiteralsContext literals() throws RecognitionException {
2048 LiteralsContext _localctx = new LiteralsContext(_ctx, getState());
2049 enterRule(_localctx, 26, RULE_literals);
2050 try {
2051 setState(1111);
2052 _errHandler.sync(this);
2053 switch (_input.LA(1)) {
2054 case STRING_:
2055 case NCHAR_TEXT:
2056 enterOuterAlt(_localctx, 1);
2057 {
2058 setState(1104);
2059 stringLiterals();
2060 }
2061 break;
2062 case PLUS_:
2063 case MINUS_:
2064 case NUMBER_:
2065 enterOuterAlt(_localctx, 2);
2066 {
2067 setState(1105);
2068 numberLiterals();
2069 }
2070 break;
2071 case LBE_:
2072 case DATE:
2073 case TIME:
2074 case TIMESTAMP:
2075 enterOuterAlt(_localctx, 3);
2076 {
2077 setState(1106);
2078 dateTimeLiterals();
2079 }
2080 break;
2081 case HEX_DIGIT_:
2082 enterOuterAlt(_localctx, 4);
2083 {
2084 setState(1107);
2085 hexadecimalLiterals();
2086 }
2087 break;
2088 case BIT_NUM_:
2089 enterOuterAlt(_localctx, 5);
2090 {
2091 setState(1108);
2092 bitValueLiterals();
2093 }
2094 break;
2095 case TRUE:
2096 case FALSE:
2097 enterOuterAlt(_localctx, 6);
2098 {
2099 setState(1109);
2100 booleanLiterals();
2101 }
2102 break;
2103 case NULL:
2104 enterOuterAlt(_localctx, 7);
2105 {
2106 setState(1110);
2107 nullValueLiterals();
2108 }
2109 break;
2110 default:
2111 throw new NoViableAltException(this);
2112 }
2113 }
2114 catch (RecognitionException re) {
2115 _localctx.exception = re;
2116 _errHandler.reportError(this, re);
2117 _errHandler.recover(this, re);
2118 }
2119 finally {
2120 exitRule();
2121 }
2122 return _localctx;
2123 }
2124
2125 public static class StringLiteralsContext extends ParserRuleContext {
2126 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
2127 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
2128 public StringLiteralsContext(ParserRuleContext parent, int invokingState) {
2129 super(parent, invokingState);
2130 }
2131 @Override public int getRuleIndex() { return RULE_stringLiterals; }
2132 @Override
2133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStringLiterals(this);
2135 else return visitor.visitChildren(this);
2136 }
2137 }
2138
2139 public final StringLiteralsContext stringLiterals() throws RecognitionException {
2140 StringLiteralsContext _localctx = new StringLiteralsContext(_ctx, getState());
2141 enterRule(_localctx, 28, RULE_stringLiterals);
2142 int _la;
2143 try {
2144 enterOuterAlt(_localctx, 1);
2145 {
2146 setState(1113);
2147 _la = _input.LA(1);
2148 if ( !(_la==STRING_ || _la==NCHAR_TEXT) ) {
2149 _errHandler.recoverInline(this);
2150 }
2151 else {
2152 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2153 _errHandler.reportMatch(this);
2154 consume();
2155 }
2156 }
2157 }
2158 catch (RecognitionException re) {
2159 _localctx.exception = re;
2160 _errHandler.reportError(this, re);
2161 _errHandler.recover(this, re);
2162 }
2163 finally {
2164 exitRule();
2165 }
2166 return _localctx;
2167 }
2168
2169 public static class NumberLiteralsContext extends ParserRuleContext {
2170 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
2171 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
2172 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
2173 public NumberLiteralsContext(ParserRuleContext parent, int invokingState) {
2174 super(parent, invokingState);
2175 }
2176 @Override public int getRuleIndex() { return RULE_numberLiterals; }
2177 @Override
2178 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2179 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNumberLiterals(this);
2180 else return visitor.visitChildren(this);
2181 }
2182 }
2183
2184 public final NumberLiteralsContext numberLiterals() throws RecognitionException {
2185 NumberLiteralsContext _localctx = new NumberLiteralsContext(_ctx, getState());
2186 enterRule(_localctx, 30, RULE_numberLiterals);
2187 int _la;
2188 try {
2189 enterOuterAlt(_localctx, 1);
2190 {
2191 setState(1116);
2192 _errHandler.sync(this);
2193 _la = _input.LA(1);
2194 if (_la==PLUS_ || _la==MINUS_) {
2195 {
2196 setState(1115);
2197 _la = _input.LA(1);
2198 if ( !(_la==PLUS_ || _la==MINUS_) ) {
2199 _errHandler.recoverInline(this);
2200 }
2201 else {
2202 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2203 _errHandler.reportMatch(this);
2204 consume();
2205 }
2206 }
2207 }
2208
2209 setState(1118);
2210 match(NUMBER_);
2211 }
2212 }
2213 catch (RecognitionException re) {
2214 _localctx.exception = re;
2215 _errHandler.reportError(this, re);
2216 _errHandler.recover(this, re);
2217 }
2218 finally {
2219 exitRule();
2220 }
2221 return _localctx;
2222 }
2223
2224 public static class DateTimeLiteralsContext extends ParserRuleContext {
2225 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
2226 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
2227 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
2228 public TerminalNode TIMESTAMP() { return getToken(SQLServerStatementParser.TIMESTAMP, 0); }
2229 public TerminalNode LBE_() { return getToken(SQLServerStatementParser.LBE_, 0); }
2230 public IdentifierContext identifier() {
2231 return getRuleContext(IdentifierContext.class,0);
2232 }
2233 public TerminalNode RBE_() { return getToken(SQLServerStatementParser.RBE_, 0); }
2234 public DateTimeLiteralsContext(ParserRuleContext parent, int invokingState) {
2235 super(parent, invokingState);
2236 }
2237 @Override public int getRuleIndex() { return RULE_dateTimeLiterals; }
2238 @Override
2239 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2240 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDateTimeLiterals(this);
2241 else return visitor.visitChildren(this);
2242 }
2243 }
2244
2245 public final DateTimeLiteralsContext dateTimeLiterals() throws RecognitionException {
2246 DateTimeLiteralsContext _localctx = new DateTimeLiteralsContext(_ctx, getState());
2247 enterRule(_localctx, 32, RULE_dateTimeLiterals);
2248 int _la;
2249 try {
2250 setState(1127);
2251 _errHandler.sync(this);
2252 switch (_input.LA(1)) {
2253 case DATE:
2254 case TIME:
2255 case TIMESTAMP:
2256 enterOuterAlt(_localctx, 1);
2257 {
2258 setState(1120);
2259 _la = _input.LA(1);
2260 if ( !(((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (DATE - 133)) | (1L << (TIME - 133)) | (1L << (TIMESTAMP - 133)))) != 0)) ) {
2261 _errHandler.recoverInline(this);
2262 }
2263 else {
2264 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2265 _errHandler.reportMatch(this);
2266 consume();
2267 }
2268 setState(1121);
2269 match(STRING_);
2270 }
2271 break;
2272 case LBE_:
2273 enterOuterAlt(_localctx, 2);
2274 {
2275 setState(1122);
2276 match(LBE_);
2277 setState(1123);
2278 identifier();
2279 setState(1124);
2280 match(STRING_);
2281 setState(1125);
2282 match(RBE_);
2283 }
2284 break;
2285 default:
2286 throw new NoViableAltException(this);
2287 }
2288 }
2289 catch (RecognitionException re) {
2290 _localctx.exception = re;
2291 _errHandler.reportError(this, re);
2292 _errHandler.recover(this, re);
2293 }
2294 finally {
2295 exitRule();
2296 }
2297 return _localctx;
2298 }
2299
2300 public static class HexadecimalLiteralsContext extends ParserRuleContext {
2301 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
2302 public HexadecimalLiteralsContext(ParserRuleContext parent, int invokingState) {
2303 super(parent, invokingState);
2304 }
2305 @Override public int getRuleIndex() { return RULE_hexadecimalLiterals; }
2306 @Override
2307 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2308 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHexadecimalLiterals(this);
2309 else return visitor.visitChildren(this);
2310 }
2311 }
2312
2313 public final HexadecimalLiteralsContext hexadecimalLiterals() throws RecognitionException {
2314 HexadecimalLiteralsContext _localctx = new HexadecimalLiteralsContext(_ctx, getState());
2315 enterRule(_localctx, 34, RULE_hexadecimalLiterals);
2316 try {
2317 enterOuterAlt(_localctx, 1);
2318 {
2319 setState(1129);
2320 match(HEX_DIGIT_);
2321 }
2322 }
2323 catch (RecognitionException re) {
2324 _localctx.exception = re;
2325 _errHandler.reportError(this, re);
2326 _errHandler.recover(this, re);
2327 }
2328 finally {
2329 exitRule();
2330 }
2331 return _localctx;
2332 }
2333
2334 public static class BitValueLiteralsContext extends ParserRuleContext {
2335 public TerminalNode BIT_NUM_() { return getToken(SQLServerStatementParser.BIT_NUM_, 0); }
2336 public BitValueLiteralsContext(ParserRuleContext parent, int invokingState) {
2337 super(parent, invokingState);
2338 }
2339 @Override public int getRuleIndex() { return RULE_bitValueLiterals; }
2340 @Override
2341 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2342 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBitValueLiterals(this);
2343 else return visitor.visitChildren(this);
2344 }
2345 }
2346
2347 public final BitValueLiteralsContext bitValueLiterals() throws RecognitionException {
2348 BitValueLiteralsContext _localctx = new BitValueLiteralsContext(_ctx, getState());
2349 enterRule(_localctx, 36, RULE_bitValueLiterals);
2350 try {
2351 enterOuterAlt(_localctx, 1);
2352 {
2353 setState(1131);
2354 match(BIT_NUM_);
2355 }
2356 }
2357 catch (RecognitionException re) {
2358 _localctx.exception = re;
2359 _errHandler.reportError(this, re);
2360 _errHandler.recover(this, re);
2361 }
2362 finally {
2363 exitRule();
2364 }
2365 return _localctx;
2366 }
2367
2368 public static class BooleanLiteralsContext extends ParserRuleContext {
2369 public TerminalNode TRUE() { return getToken(SQLServerStatementParser.TRUE, 0); }
2370 public TerminalNode FALSE() { return getToken(SQLServerStatementParser.FALSE, 0); }
2371 public BooleanLiteralsContext(ParserRuleContext parent, int invokingState) {
2372 super(parent, invokingState);
2373 }
2374 @Override public int getRuleIndex() { return RULE_booleanLiterals; }
2375 @Override
2376 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2377 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBooleanLiterals(this);
2378 else return visitor.visitChildren(this);
2379 }
2380 }
2381
2382 public final BooleanLiteralsContext booleanLiterals() throws RecognitionException {
2383 BooleanLiteralsContext _localctx = new BooleanLiteralsContext(_ctx, getState());
2384 enterRule(_localctx, 38, RULE_booleanLiterals);
2385 int _la;
2386 try {
2387 enterOuterAlt(_localctx, 1);
2388 {
2389 setState(1133);
2390 _la = _input.LA(1);
2391 if ( !(_la==TRUE || _la==FALSE) ) {
2392 _errHandler.recoverInline(this);
2393 }
2394 else {
2395 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
2396 _errHandler.reportMatch(this);
2397 consume();
2398 }
2399 }
2400 }
2401 catch (RecognitionException re) {
2402 _localctx.exception = re;
2403 _errHandler.reportError(this, re);
2404 _errHandler.recover(this, re);
2405 }
2406 finally {
2407 exitRule();
2408 }
2409 return _localctx;
2410 }
2411
2412 public static class NullValueLiteralsContext extends ParserRuleContext {
2413 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
2414 public NullValueLiteralsContext(ParserRuleContext parent, int invokingState) {
2415 super(parent, invokingState);
2416 }
2417 @Override public int getRuleIndex() { return RULE_nullValueLiterals; }
2418 @Override
2419 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2420 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNullValueLiterals(this);
2421 else return visitor.visitChildren(this);
2422 }
2423 }
2424
2425 public final NullValueLiteralsContext nullValueLiterals() throws RecognitionException {
2426 NullValueLiteralsContext _localctx = new NullValueLiteralsContext(_ctx, getState());
2427 enterRule(_localctx, 40, RULE_nullValueLiterals);
2428 try {
2429 enterOuterAlt(_localctx, 1);
2430 {
2431 setState(1135);
2432 match(NULL);
2433 }
2434 }
2435 catch (RecognitionException re) {
2436 _localctx.exception = re;
2437 _errHandler.reportError(this, re);
2438 _errHandler.recover(this, re);
2439 }
2440 finally {
2441 exitRule();
2442 }
2443 return _localctx;
2444 }
2445
2446 public static class IdentifierContext extends ParserRuleContext {
2447 public RegularIdentifierContext regularIdentifier() {
2448 return getRuleContext(RegularIdentifierContext.class,0);
2449 }
2450 public DelimitedIdentifierContext delimitedIdentifier() {
2451 return getRuleContext(DelimitedIdentifierContext.class,0);
2452 }
2453 public IdentifierContext(ParserRuleContext parent, int invokingState) {
2454 super(parent, invokingState);
2455 }
2456 @Override public int getRuleIndex() { return RULE_identifier; }
2457 @Override
2458 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2459 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIdentifier(this);
2460 else return visitor.visitChildren(this);
2461 }
2462 }
2463
2464 public final IdentifierContext identifier() throws RecognitionException {
2465 IdentifierContext _localctx = new IdentifierContext(_ctx, getState());
2466 enterRule(_localctx, 42, RULE_identifier);
2467 try {
2468 setState(1139);
2469 _errHandler.sync(this);
2470 switch (_input.LA(1)) {
2471 case TRUNCATE:
2472 case SCHEMA:
2473 case FUNCTION:
2474 case TRIGGER:
2475 case CAST:
2476 case GROUP:
2477 case LIMIT:
2478 case OFFSET:
2479 case SAVEPOINT:
2480 case BOOLEAN:
2481 case ARRAY:
2482 case DATE:
2483 case LOCALTIME:
2484 case LOCALTIMESTAMP:
2485 case QUARTER:
2486 case WEEK:
2487 case DAY:
2488 case MICROSECOND:
2489 case MAX:
2490 case MIN:
2491 case SUM:
2492 case COUNT:
2493 case AVG:
2494 case ENABLE:
2495 case DISABLE:
2496 case INSTANCE:
2497 case DO:
2498 case DEFINER:
2499 case SQL:
2500 case CASCADED:
2501 case LOCAL:
2502 case NEXT:
2503 case NAME:
2504 case INTEGER:
2505 case TYPE:
2506 case READ_ONLY:
2507 case DATABASE:
2508 case DATEPART:
2509 case PASSWORD:
2510 case BINARY:
2511 case HIDDEN_:
2512 case MOD:
2513 case PARTITION:
2514 case PARTITIONS:
2515 case TOP:
2516 case ROW:
2517 case ROWS:
2518 case XOR:
2519 case ALWAYS:
2520 case ROLE:
2521 case START:
2522 case ALGORITHM:
2523 case AUTO:
2524 case BLOCKERS:
2525 case CLUSTERED:
2526 case NONCLUSTERED:
2527 case COLUMNSTORE:
2528 case CONTENT:
2529 case YEARS:
2530 case MONTHS:
2531 case WEEKS:
2532 case DAYS:
2533 case MINUTES:
2534 case DENY:
2535 case DETERMINISTIC:
2536 case DISTRIBUTION:
2537 case DOCUMENT:
2538 case DURABILITY:
2539 case ENCRYPTED:
2540 case FILESTREAM:
2541 case FILETABLE:
2542 case FILLFACTOR:
2543 case FOLLOWING:
2544 case HASH:
2545 case HEAP:
2546 case INBOUND:
2547 case OUTBOUND:
2548 case UNBOUNDED:
2549 case INFINITE:
2550 case LOGIN:
2551 case MASKED:
2552 case MAXDOP:
2553 case MOVE:
2554 case NOCHECK:
2555 case OBJECT:
2556 case OFF:
2557 case ONLINE:
2558 case OVER:
2559 case PAGE:
2560 case PAUSED:
2561 case PERIOD:
2562 case PERSISTED:
2563 case PRECEDING:
2564 case RANDOMIZED:
2565 case RANGE:
2566 case REBUILD:
2567 case REPLICATE:
2568 case REPLICATION:
2569 case RESUMABLE:
2570 case ROWGUIDCOL:
2571 case SAVE:
2572 case SELF:
2573 case SPARSE:
2574 case SWITCH:
2575 case TRAN:
2576 case TRANCOUNT:
2577 case CONTROL:
2578 case CONCAT:
2579 case TAKE:
2580 case OWNERSHIP:
2581 case DEFINITION:
2582 case APPLICATION:
2583 case ASSEMBLY:
2584 case SYMMETRIC:
2585 case ASYMMETRIC:
2586 case SERVER:
2587 case RECEIVE:
2588 case CHANGE:
2589 case TRACE:
2590 case TRACKING:
2591 case RESOURCES:
2592 case SETTINGS:
2593 case STATE:
2594 case AVAILABILITY:
2595 case CREDENTIAL:
2596 case ENDPOINT:
2597 case EVENT:
2598 case NOTIFICATION:
2599 case LINKED:
2600 case AUDIT:
2601 case DDL:
2602 case XML:
2603 case IMPERSONATE:
2604 case SECURABLES:
2605 case AUTHENTICATE:
2606 case EXTERNAL:
2607 case ACCESS:
2608 case ADMINISTER:
2609 case BULK:
2610 case OPERATIONS:
2611 case UNSAFE:
2612 case SHUTDOWN:
2613 case SCOPED:
2614 case CONFIGURATION:
2615 case DATASPACE:
2616 case SERVICE:
2617 case CERTIFICATE:
2618 case CONTRACT:
2619 case ENCRYPTION:
2620 case MASTER:
2621 case DATA:
2622 case SOURCE:
2623 case FILE:
2624 case FORMAT:
2625 case LIBRARY:
2626 case FULLTEXT:
2627 case MASK:
2628 case UNMASK:
2629 case MESSAGE:
2630 case REMOTE:
2631 case BINDING:
2632 case ROUTE:
2633 case SECURITY:
2634 case POLICY:
2635 case AGGREGATE:
2636 case QUEUE:
2637 case RULE:
2638 case SYNONYM:
2639 case COLLECTION:
2640 case SCRIPT:
2641 case KILL:
2642 case BACKUP:
2643 case LOG:
2644 case SHOWPLAN:
2645 case SUBSCRIBE:
2646 case QUERY:
2647 case NOTIFICATIONS:
2648 case CHECKPOINT:
2649 case SEQUENCE:
2650 case ABORT_AFTER_WAIT:
2651 case ALLOW_PAGE_LOCKS:
2652 case ALLOW_ROW_LOCKS:
2653 case ALL_SPARSE_COLUMNS:
2654 case BUCKET_COUNT:
2655 case COLUMNSTORE_ARCHIVE:
2656 case COLUMN_ENCRYPTION_KEY:
2657 case COLUMN_SET:
2658 case COMPRESSION_DELAY:
2659 case DATABASE_DEAULT:
2660 case DATA_COMPRESSION:
2661 case DATA_CONSISTENCY_CHECK:
2662 case ENCRYPTION_TYPE:
2663 case SYSTEM_TIME:
2664 case SYSTEM_VERSIONING:
2665 case TEXTIMAGE_ON:
2666 case WAIT_AT_LOW_PRIORITY:
2667 case STATISTICS_INCREMENTAL:
2668 case STATISTICS_NORECOMPUTE:
2669 case ROUND_ROBIN:
2670 case SCHEMA_AND_DATA:
2671 case SCHEMA_ONLY:
2672 case SORT_IN_TEMPDB:
2673 case IGNORE_DUP_KEY:
2674 case IMPLICIT_TRANSACTIONS:
2675 case MAX_DURATION:
2676 case MEMORY_OPTIMIZED:
2677 case MIGRATION_STATE:
2678 case PAD_INDEX:
2679 case REMOTE_DATA_ARCHIVE:
2680 case FILESTREAM_ON:
2681 case FILETABLE_COLLATE_FILENAME:
2682 case FILETABLE_DIRECTORY:
2683 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
2684 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
2685 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
2686 case FILTER_PREDICATE:
2687 case HISTORY_RETENTION_PERIOD:
2688 case HISTORY_TABLE:
2689 case LOCK_ESCALATION:
2690 case DROP_EXISTING:
2691 case ROW_NUMBER:
2692 case FIRST:
2693 case DATETIME2:
2694 case OUTPUT:
2695 case INSERTED:
2696 case DELETED:
2697 case FILENAME:
2698 case MAXSIZE:
2699 case FILEGROWTH:
2700 case UNLIMITED:
2701 case KB:
2702 case MB:
2703 case GB:
2704 case TB:
2705 case MEMORY_OPTIMIZED_DATA:
2706 case FILEGROUP:
2707 case NON_TRANSACTED_ACCESS:
2708 case DB_CHAINING:
2709 case TRUSTWORTHY:
2710 case FORWARD_ONLY:
2711 case KEYSET:
2712 case FAST_FORWARD:
2713 case SCROLL_LOCKS:
2714 case OPTIMISTIC:
2715 case TYPE_WARNING:
2716 case SCHEMABINDING:
2717 case CALLER:
2718 case OWNER:
2719 case SNAPSHOT:
2720 case REPEATABLE:
2721 case SERIALIZABLE:
2722 case NATIVE_COMPILATION:
2723 case VIEW_METADATA:
2724 case INSTEAD:
2725 case APPEND:
2726 case INCREMENT:
2727 case CACHE:
2728 case MINVALUE:
2729 case MAXVALUE:
2730 case RESTART:
2731 case LOB_COMPACTION:
2732 case COMPRESS_ALL_ROW_GROUPS:
2733 case REORGANIZE:
2734 case RESUME:
2735 case PAUSE:
2736 case ABORT:
2737 case ACCELERATED_DATABASE_RECOVERY:
2738 case PERSISTENT_VERSION_STORE_FILEGROUP:
2739 case IMMEDIATE:
2740 case NO_WAIT:
2741 case TARGET_RECOVERY_TIME:
2742 case SECONDS:
2743 case HONOR_BROKER_PRIORITY:
2744 case ERROR_BROKER_CONVERSATIONS:
2745 case NEW_BROKER:
2746 case DISABLE_BROKER:
2747 case ENABLE_BROKER:
2748 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
2749 case READ_COMMITTED_SNAPSHOT:
2750 case ALLOW_SNAPSHOT_ISOLATION:
2751 case RECURSIVE_TRIGGERS:
2752 case QUOTED_IDENTIFIER:
2753 case NUMERIC_ROUNDABORT:
2754 case CONCAT_NULL_YIELDS_NULL:
2755 case COMPATIBILITY_LEVEL:
2756 case ARITHABORT:
2757 case ANSI_WARNINGS:
2758 case ANSI_PADDING:
2759 case ANSI_NULLS:
2760 case ANSI_NULL_DEFAULT:
2761 case PAGE_VERIFY:
2762 case CHECKSUM:
2763 case TORN_PAGE_DETECTION:
2764 case BULK_LOGGED:
2765 case RECOVERY:
2766 case TOTAL_EXECUTION_CPU_TIME_MS:
2767 case TOTAL_COMPILE_CPU_TIME_MS:
2768 case STALE_CAPTURE_POLICY_THRESHOLD:
2769 case EXECUTION_COUNT:
2770 case QUERY_CAPTURE_POLICY:
2771 case WAIT_STATS_CAPTURE_MODE:
2772 case MAX_PLANS_PER_QUERY:
2773 case QUERY_CAPTURE_MODE:
2774 case SIZE_BASED_CLEANUP_MODE:
2775 case INTERVAL_LENGTH_MINUTES:
2776 case MAX_STORAGE_SIZE_MB:
2777 case DATA_FLUSH_INTERVAL_SECONDS:
2778 case CLEANUP_POLICY:
2779 case CUSTOM:
2780 case STALE_QUERY_THRESHOLD_DAYS:
2781 case OPERATION_MODE:
2782 case QUERY_STORE:
2783 case CURSOR_DEFAULT:
2784 case GLOBAL:
2785 case CURSOR_CLOSE_ON_COMMIT:
2786 case HOURS:
2787 case CHANGE_RETENTION:
2788 case AUTO_CLEANUP:
2789 case CHANGE_TRACKING:
2790 case AUTOMATIC_TUNING:
2791 case FORCE_LAST_GOOD_PLAN:
2792 case AUTO_UPDATE_STATISTICS_ASYNC:
2793 case AUTO_UPDATE_STATISTICS:
2794 case AUTO_SHRINK:
2795 case AUTO_CREATE_STATISTICS:
2796 case INCREMENTAL:
2797 case AUTO_CLOSE:
2798 case DATA_RETENTION:
2799 case TEMPORAL_HISTORY_RETENTION:
2800 case EDITION:
2801 case MIXED_PAGE_ALLOCATION:
2802 case DISABLED:
2803 case ALLOWED:
2804 case HADR:
2805 case MULTI_USER:
2806 case RESTRICTED_USER:
2807 case SINGLE_USER:
2808 case OFFLINE:
2809 case EMERGENCY:
2810 case SUSPEND:
2811 case DATE_CORRELATION_OPTIMIZATION:
2812 case ELASTIC_POOL:
2813 case SERVICE_OBJECTIVE:
2814 case DATABASE_NAME:
2815 case ALLOW_CONNECTIONS:
2816 case GEO:
2817 case NAMED:
2818 case DATEFIRST:
2819 case BACKUP_STORAGE_REDUNDANCY:
2820 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
2821 case SECONDARY:
2822 case FAILOVER:
2823 case DEFAULT_FULLTEXT_LANGUAGE:
2824 case DEFAULT_LANGUAGE:
2825 case INLINE:
2826 case NESTED_TRIGGERS:
2827 case TRANSFORM_NOISE_WORDS:
2828 case TWO_DIGIT_YEAR_CUTOFF:
2829 case PERSISTENT_LOG_BUFFER:
2830 case DIRECTORY_NAME:
2831 case DATEFORMAT:
2832 case DELAYED_DURABILITY:
2833 case AUTHORIZATION:
2834 case TRANSFER:
2835 case SEARCH:
2836 case MEMBER:
2837 case IDENTIFIER_:
2838 enterOuterAlt(_localctx, 1);
2839 {
2840 setState(1137);
2841 regularIdentifier();
2842 }
2843 break;
2844 case DELIMITED_IDENTIFIER_:
2845 enterOuterAlt(_localctx, 2);
2846 {
2847 setState(1138);
2848 delimitedIdentifier();
2849 }
2850 break;
2851 default:
2852 throw new NoViableAltException(this);
2853 }
2854 }
2855 catch (RecognitionException re) {
2856 _localctx.exception = re;
2857 _errHandler.reportError(this, re);
2858 _errHandler.recover(this, re);
2859 }
2860 finally {
2861 exitRule();
2862 }
2863 return _localctx;
2864 }
2865
2866 public static class RegularIdentifierContext extends ParserRuleContext {
2867 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
2868 public UnreservedWordContext unreservedWord() {
2869 return getRuleContext(UnreservedWordContext.class,0);
2870 }
2871 public RegularIdentifierContext(ParserRuleContext parent, int invokingState) {
2872 super(parent, invokingState);
2873 }
2874 @Override public int getRuleIndex() { return RULE_regularIdentifier; }
2875 @Override
2876 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
2877 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularIdentifier(this);
2878 else return visitor.visitChildren(this);
2879 }
2880 }
2881
2882 public final RegularIdentifierContext regularIdentifier() throws RecognitionException {
2883 RegularIdentifierContext _localctx = new RegularIdentifierContext(_ctx, getState());
2884 enterRule(_localctx, 44, RULE_regularIdentifier);
2885 try {
2886 setState(1143);
2887 _errHandler.sync(this);
2888 switch (_input.LA(1)) {
2889 case IDENTIFIER_:
2890 enterOuterAlt(_localctx, 1);
2891 {
2892 setState(1141);
2893 match(IDENTIFIER_);
2894 }
2895 break;
2896 case TRUNCATE:
2897 case SCHEMA:
2898 case FUNCTION:
2899 case TRIGGER:
2900 case CAST:
2901 case GROUP:
2902 case LIMIT:
2903 case OFFSET:
2904 case SAVEPOINT:
2905 case BOOLEAN:
2906 case ARRAY:
2907 case DATE:
2908 case LOCALTIME:
2909 case LOCALTIMESTAMP:
2910 case QUARTER:
2911 case WEEK:
2912 case DAY:
2913 case MICROSECOND:
2914 case MAX:
2915 case MIN:
2916 case SUM:
2917 case COUNT:
2918 case AVG:
2919 case ENABLE:
2920 case DISABLE:
2921 case INSTANCE:
2922 case DO:
2923 case DEFINER:
2924 case SQL:
2925 case CASCADED:
2926 case LOCAL:
2927 case NEXT:
2928 case NAME:
2929 case INTEGER:
2930 case TYPE:
2931 case READ_ONLY:
2932 case DATABASE:
2933 case DATEPART:
2934 case PASSWORD:
2935 case BINARY:
2936 case HIDDEN_:
2937 case MOD:
2938 case PARTITION:
2939 case PARTITIONS:
2940 case TOP:
2941 case ROW:
2942 case ROWS:
2943 case XOR:
2944 case ALWAYS:
2945 case ROLE:
2946 case START:
2947 case ALGORITHM:
2948 case AUTO:
2949 case BLOCKERS:
2950 case CLUSTERED:
2951 case NONCLUSTERED:
2952 case COLUMNSTORE:
2953 case CONTENT:
2954 case YEARS:
2955 case MONTHS:
2956 case WEEKS:
2957 case DAYS:
2958 case MINUTES:
2959 case DENY:
2960 case DETERMINISTIC:
2961 case DISTRIBUTION:
2962 case DOCUMENT:
2963 case DURABILITY:
2964 case ENCRYPTED:
2965 case FILESTREAM:
2966 case FILETABLE:
2967 case FILLFACTOR:
2968 case FOLLOWING:
2969 case HASH:
2970 case HEAP:
2971 case INBOUND:
2972 case OUTBOUND:
2973 case UNBOUNDED:
2974 case INFINITE:
2975 case LOGIN:
2976 case MASKED:
2977 case MAXDOP:
2978 case MOVE:
2979 case NOCHECK:
2980 case OBJECT:
2981 case OFF:
2982 case ONLINE:
2983 case OVER:
2984 case PAGE:
2985 case PAUSED:
2986 case PERIOD:
2987 case PERSISTED:
2988 case PRECEDING:
2989 case RANDOMIZED:
2990 case RANGE:
2991 case REBUILD:
2992 case REPLICATE:
2993 case REPLICATION:
2994 case RESUMABLE:
2995 case ROWGUIDCOL:
2996 case SAVE:
2997 case SELF:
2998 case SPARSE:
2999 case SWITCH:
3000 case TRAN:
3001 case TRANCOUNT:
3002 case CONTROL:
3003 case CONCAT:
3004 case TAKE:
3005 case OWNERSHIP:
3006 case DEFINITION:
3007 case APPLICATION:
3008 case ASSEMBLY:
3009 case SYMMETRIC:
3010 case ASYMMETRIC:
3011 case SERVER:
3012 case RECEIVE:
3013 case CHANGE:
3014 case TRACE:
3015 case TRACKING:
3016 case RESOURCES:
3017 case SETTINGS:
3018 case STATE:
3019 case AVAILABILITY:
3020 case CREDENTIAL:
3021 case ENDPOINT:
3022 case EVENT:
3023 case NOTIFICATION:
3024 case LINKED:
3025 case AUDIT:
3026 case DDL:
3027 case XML:
3028 case IMPERSONATE:
3029 case SECURABLES:
3030 case AUTHENTICATE:
3031 case EXTERNAL:
3032 case ACCESS:
3033 case ADMINISTER:
3034 case BULK:
3035 case OPERATIONS:
3036 case UNSAFE:
3037 case SHUTDOWN:
3038 case SCOPED:
3039 case CONFIGURATION:
3040 case DATASPACE:
3041 case SERVICE:
3042 case CERTIFICATE:
3043 case CONTRACT:
3044 case ENCRYPTION:
3045 case MASTER:
3046 case DATA:
3047 case SOURCE:
3048 case FILE:
3049 case FORMAT:
3050 case LIBRARY:
3051 case FULLTEXT:
3052 case MASK:
3053 case UNMASK:
3054 case MESSAGE:
3055 case REMOTE:
3056 case BINDING:
3057 case ROUTE:
3058 case SECURITY:
3059 case POLICY:
3060 case AGGREGATE:
3061 case QUEUE:
3062 case RULE:
3063 case SYNONYM:
3064 case COLLECTION:
3065 case SCRIPT:
3066 case KILL:
3067 case BACKUP:
3068 case LOG:
3069 case SHOWPLAN:
3070 case SUBSCRIBE:
3071 case QUERY:
3072 case NOTIFICATIONS:
3073 case CHECKPOINT:
3074 case SEQUENCE:
3075 case ABORT_AFTER_WAIT:
3076 case ALLOW_PAGE_LOCKS:
3077 case ALLOW_ROW_LOCKS:
3078 case ALL_SPARSE_COLUMNS:
3079 case BUCKET_COUNT:
3080 case COLUMNSTORE_ARCHIVE:
3081 case COLUMN_ENCRYPTION_KEY:
3082 case COLUMN_SET:
3083 case COMPRESSION_DELAY:
3084 case DATABASE_DEAULT:
3085 case DATA_COMPRESSION:
3086 case DATA_CONSISTENCY_CHECK:
3087 case ENCRYPTION_TYPE:
3088 case SYSTEM_TIME:
3089 case SYSTEM_VERSIONING:
3090 case TEXTIMAGE_ON:
3091 case WAIT_AT_LOW_PRIORITY:
3092 case STATISTICS_INCREMENTAL:
3093 case STATISTICS_NORECOMPUTE:
3094 case ROUND_ROBIN:
3095 case SCHEMA_AND_DATA:
3096 case SCHEMA_ONLY:
3097 case SORT_IN_TEMPDB:
3098 case IGNORE_DUP_KEY:
3099 case IMPLICIT_TRANSACTIONS:
3100 case MAX_DURATION:
3101 case MEMORY_OPTIMIZED:
3102 case MIGRATION_STATE:
3103 case PAD_INDEX:
3104 case REMOTE_DATA_ARCHIVE:
3105 case FILESTREAM_ON:
3106 case FILETABLE_COLLATE_FILENAME:
3107 case FILETABLE_DIRECTORY:
3108 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
3109 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
3110 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
3111 case FILTER_PREDICATE:
3112 case HISTORY_RETENTION_PERIOD:
3113 case HISTORY_TABLE:
3114 case LOCK_ESCALATION:
3115 case DROP_EXISTING:
3116 case ROW_NUMBER:
3117 case FIRST:
3118 case DATETIME2:
3119 case OUTPUT:
3120 case INSERTED:
3121 case DELETED:
3122 case FILENAME:
3123 case MAXSIZE:
3124 case FILEGROWTH:
3125 case UNLIMITED:
3126 case KB:
3127 case MB:
3128 case GB:
3129 case TB:
3130 case MEMORY_OPTIMIZED_DATA:
3131 case FILEGROUP:
3132 case NON_TRANSACTED_ACCESS:
3133 case DB_CHAINING:
3134 case TRUSTWORTHY:
3135 case FORWARD_ONLY:
3136 case KEYSET:
3137 case FAST_FORWARD:
3138 case SCROLL_LOCKS:
3139 case OPTIMISTIC:
3140 case TYPE_WARNING:
3141 case SCHEMABINDING:
3142 case CALLER:
3143 case OWNER:
3144 case SNAPSHOT:
3145 case REPEATABLE:
3146 case SERIALIZABLE:
3147 case NATIVE_COMPILATION:
3148 case VIEW_METADATA:
3149 case INSTEAD:
3150 case APPEND:
3151 case INCREMENT:
3152 case CACHE:
3153 case MINVALUE:
3154 case MAXVALUE:
3155 case RESTART:
3156 case LOB_COMPACTION:
3157 case COMPRESS_ALL_ROW_GROUPS:
3158 case REORGANIZE:
3159 case RESUME:
3160 case PAUSE:
3161 case ABORT:
3162 case ACCELERATED_DATABASE_RECOVERY:
3163 case PERSISTENT_VERSION_STORE_FILEGROUP:
3164 case IMMEDIATE:
3165 case NO_WAIT:
3166 case TARGET_RECOVERY_TIME:
3167 case SECONDS:
3168 case HONOR_BROKER_PRIORITY:
3169 case ERROR_BROKER_CONVERSATIONS:
3170 case NEW_BROKER:
3171 case DISABLE_BROKER:
3172 case ENABLE_BROKER:
3173 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
3174 case READ_COMMITTED_SNAPSHOT:
3175 case ALLOW_SNAPSHOT_ISOLATION:
3176 case RECURSIVE_TRIGGERS:
3177 case QUOTED_IDENTIFIER:
3178 case NUMERIC_ROUNDABORT:
3179 case CONCAT_NULL_YIELDS_NULL:
3180 case COMPATIBILITY_LEVEL:
3181 case ARITHABORT:
3182 case ANSI_WARNINGS:
3183 case ANSI_PADDING:
3184 case ANSI_NULLS:
3185 case ANSI_NULL_DEFAULT:
3186 case PAGE_VERIFY:
3187 case CHECKSUM:
3188 case TORN_PAGE_DETECTION:
3189 case BULK_LOGGED:
3190 case RECOVERY:
3191 case TOTAL_EXECUTION_CPU_TIME_MS:
3192 case TOTAL_COMPILE_CPU_TIME_MS:
3193 case STALE_CAPTURE_POLICY_THRESHOLD:
3194 case EXECUTION_COUNT:
3195 case QUERY_CAPTURE_POLICY:
3196 case WAIT_STATS_CAPTURE_MODE:
3197 case MAX_PLANS_PER_QUERY:
3198 case QUERY_CAPTURE_MODE:
3199 case SIZE_BASED_CLEANUP_MODE:
3200 case INTERVAL_LENGTH_MINUTES:
3201 case MAX_STORAGE_SIZE_MB:
3202 case DATA_FLUSH_INTERVAL_SECONDS:
3203 case CLEANUP_POLICY:
3204 case CUSTOM:
3205 case STALE_QUERY_THRESHOLD_DAYS:
3206 case OPERATION_MODE:
3207 case QUERY_STORE:
3208 case CURSOR_DEFAULT:
3209 case GLOBAL:
3210 case CURSOR_CLOSE_ON_COMMIT:
3211 case HOURS:
3212 case CHANGE_RETENTION:
3213 case AUTO_CLEANUP:
3214 case CHANGE_TRACKING:
3215 case AUTOMATIC_TUNING:
3216 case FORCE_LAST_GOOD_PLAN:
3217 case AUTO_UPDATE_STATISTICS_ASYNC:
3218 case AUTO_UPDATE_STATISTICS:
3219 case AUTO_SHRINK:
3220 case AUTO_CREATE_STATISTICS:
3221 case INCREMENTAL:
3222 case AUTO_CLOSE:
3223 case DATA_RETENTION:
3224 case TEMPORAL_HISTORY_RETENTION:
3225 case EDITION:
3226 case MIXED_PAGE_ALLOCATION:
3227 case DISABLED:
3228 case ALLOWED:
3229 case HADR:
3230 case MULTI_USER:
3231 case RESTRICTED_USER:
3232 case SINGLE_USER:
3233 case OFFLINE:
3234 case EMERGENCY:
3235 case SUSPEND:
3236 case DATE_CORRELATION_OPTIMIZATION:
3237 case ELASTIC_POOL:
3238 case SERVICE_OBJECTIVE:
3239 case DATABASE_NAME:
3240 case ALLOW_CONNECTIONS:
3241 case GEO:
3242 case NAMED:
3243 case DATEFIRST:
3244 case BACKUP_STORAGE_REDUNDANCY:
3245 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
3246 case SECONDARY:
3247 case FAILOVER:
3248 case DEFAULT_FULLTEXT_LANGUAGE:
3249 case DEFAULT_LANGUAGE:
3250 case INLINE:
3251 case NESTED_TRIGGERS:
3252 case TRANSFORM_NOISE_WORDS:
3253 case TWO_DIGIT_YEAR_CUTOFF:
3254 case PERSISTENT_LOG_BUFFER:
3255 case DIRECTORY_NAME:
3256 case DATEFORMAT:
3257 case DELAYED_DURABILITY:
3258 case AUTHORIZATION:
3259 case TRANSFER:
3260 case SEARCH:
3261 case MEMBER:
3262 enterOuterAlt(_localctx, 2);
3263 {
3264 setState(1142);
3265 unreservedWord();
3266 }
3267 break;
3268 default:
3269 throw new NoViableAltException(this);
3270 }
3271 }
3272 catch (RecognitionException re) {
3273 _localctx.exception = re;
3274 _errHandler.reportError(this, re);
3275 _errHandler.recover(this, re);
3276 }
3277 finally {
3278 exitRule();
3279 }
3280 return _localctx;
3281 }
3282
3283 public static class DelimitedIdentifierContext extends ParserRuleContext {
3284 public TerminalNode DELIMITED_IDENTIFIER_() { return getToken(SQLServerStatementParser.DELIMITED_IDENTIFIER_, 0); }
3285 public DelimitedIdentifierContext(ParserRuleContext parent, int invokingState) {
3286 super(parent, invokingState);
3287 }
3288 @Override public int getRuleIndex() { return RULE_delimitedIdentifier; }
3289 @Override
3290 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3291 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDelimitedIdentifier(this);
3292 else return visitor.visitChildren(this);
3293 }
3294 }
3295
3296 public final DelimitedIdentifierContext delimitedIdentifier() throws RecognitionException {
3297 DelimitedIdentifierContext _localctx = new DelimitedIdentifierContext(_ctx, getState());
3298 enterRule(_localctx, 46, RULE_delimitedIdentifier);
3299 try {
3300 enterOuterAlt(_localctx, 1);
3301 {
3302 setState(1145);
3303 match(DELIMITED_IDENTIFIER_);
3304 }
3305 }
3306 catch (RecognitionException re) {
3307 _localctx.exception = re;
3308 _errHandler.reportError(this, re);
3309 _errHandler.recover(this, re);
3310 }
3311 finally {
3312 exitRule();
3313 }
3314 return _localctx;
3315 }
3316
3317 public static class UnreservedWordContext extends ParserRuleContext {
3318 public TerminalNode TRUNCATE() { return getToken(SQLServerStatementParser.TRUNCATE, 0); }
3319 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
3320 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
3321 public TerminalNode LIMIT() { return getToken(SQLServerStatementParser.LIMIT, 0); }
3322 public TerminalNode OFFSET() { return getToken(SQLServerStatementParser.OFFSET, 0); }
3323 public TerminalNode SAVEPOINT() { return getToken(SQLServerStatementParser.SAVEPOINT, 0); }
3324 public TerminalNode BOOLEAN() { return getToken(SQLServerStatementParser.BOOLEAN, 0); }
3325 public TerminalNode ARRAY() { return getToken(SQLServerStatementParser.ARRAY, 0); }
3326 public TerminalNode LOCALTIME() { return getToken(SQLServerStatementParser.LOCALTIME, 0); }
3327 public TerminalNode LOCALTIMESTAMP() { return getToken(SQLServerStatementParser.LOCALTIMESTAMP, 0); }
3328 public TerminalNode QUARTER() { return getToken(SQLServerStatementParser.QUARTER, 0); }
3329 public TerminalNode WEEK() { return getToken(SQLServerStatementParser.WEEK, 0); }
3330 public TerminalNode MICROSECOND() { return getToken(SQLServerStatementParser.MICROSECOND, 0); }
3331 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
3332 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
3333 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
3334 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
3335 public TerminalNode MOD() { return getToken(SQLServerStatementParser.MOD, 0); }
3336 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
3337 public TerminalNode TOP() { return getToken(SQLServerStatementParser.TOP, 0); }
3338 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
3339 public TerminalNode XOR() { return getToken(SQLServerStatementParser.XOR, 0); }
3340 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
3341 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
3342 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
3343 public TerminalNode ALGORITHM() { return getToken(SQLServerStatementParser.ALGORITHM, 0); }
3344 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
3345 public TerminalNode BLOCKERS() { return getToken(SQLServerStatementParser.BLOCKERS, 0); }
3346 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
3347 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
3348 public TerminalNode CONTENT() { return getToken(SQLServerStatementParser.CONTENT, 0); }
3349 public TerminalNode CONCAT() { return getToken(SQLServerStatementParser.CONCAT, 0); }
3350 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
3351 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
3352 public TerminalNode DENY() { return getToken(SQLServerStatementParser.DENY, 0); }
3353 public TerminalNode DETERMINISTIC() { return getToken(SQLServerStatementParser.DETERMINISTIC, 0); }
3354 public TerminalNode DISTRIBUTION() { return getToken(SQLServerStatementParser.DISTRIBUTION, 0); }
3355 public TerminalNode DOCUMENT() { return getToken(SQLServerStatementParser.DOCUMENT, 0); }
3356 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
3357 public TerminalNode ENCRYPTED() { return getToken(SQLServerStatementParser.ENCRYPTED, 0); }
3358 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
3359 public TerminalNode FILETABLE() { return getToken(SQLServerStatementParser.FILETABLE, 0); }
3360 public TerminalNode FOLLOWING() { return getToken(SQLServerStatementParser.FOLLOWING, 0); }
3361 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
3362 public TerminalNode HEAP() { return getToken(SQLServerStatementParser.HEAP, 0); }
3363 public TerminalNode INBOUND() { return getToken(SQLServerStatementParser.INBOUND, 0); }
3364 public TerminalNode INFINITE() { return getToken(SQLServerStatementParser.INFINITE, 0); }
3365 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
3366 public TerminalNode MASKED() { return getToken(SQLServerStatementParser.MASKED, 0); }
3367 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
3368 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
3369 public TerminalNode MONTHS() { return getToken(SQLServerStatementParser.MONTHS, 0); }
3370 public TerminalNode MOVE() { return getToken(SQLServerStatementParser.MOVE, 0); }
3371 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
3372 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
3373 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
3374 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
3375 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
3376 public TerminalNode OUTBOUND() { return getToken(SQLServerStatementParser.OUTBOUND, 0); }
3377 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
3378 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
3379 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
3380 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
3381 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
3382 public TerminalNode PERSISTED() { return getToken(SQLServerStatementParser.PERSISTED, 0); }
3383 public TerminalNode PRECEDING() { return getToken(SQLServerStatementParser.PRECEDING, 0); }
3384 public TerminalNode RANDOMIZED() { return getToken(SQLServerStatementParser.RANDOMIZED, 0); }
3385 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
3386 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
3387 public TerminalNode REPLICATE() { return getToken(SQLServerStatementParser.REPLICATE, 0); }
3388 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
3389 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
3390 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
3391 public TerminalNode SAVE() { return getToken(SQLServerStatementParser.SAVE, 0); }
3392 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
3393 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
3394 public TerminalNode SWITCH() { return getToken(SQLServerStatementParser.SWITCH, 0); }
3395 public TerminalNode TRAN() { return getToken(SQLServerStatementParser.TRAN, 0); }
3396 public TerminalNode TRANCOUNT() { return getToken(SQLServerStatementParser.TRANCOUNT, 0); }
3397 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
3398 public TerminalNode YEARS() { return getToken(SQLServerStatementParser.YEARS, 0); }
3399 public TerminalNode WEEKS() { return getToken(SQLServerStatementParser.WEEKS, 0); }
3400 public TerminalNode ABORT_AFTER_WAIT() { return getToken(SQLServerStatementParser.ABORT_AFTER_WAIT, 0); }
3401 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
3402 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
3403 public TerminalNode ALL_SPARSE_COLUMNS() { return getToken(SQLServerStatementParser.ALL_SPARSE_COLUMNS, 0); }
3404 public TerminalNode BUCKET_COUNT() { return getToken(SQLServerStatementParser.BUCKET_COUNT, 0); }
3405 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
3406 public TerminalNode COLUMN_ENCRYPTION_KEY() { return getToken(SQLServerStatementParser.COLUMN_ENCRYPTION_KEY, 0); }
3407 public TerminalNode COLUMN_SET() { return getToken(SQLServerStatementParser.COLUMN_SET, 0); }
3408 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
3409 public TerminalNode DATABASE_DEAULT() { return getToken(SQLServerStatementParser.DATABASE_DEAULT, 0); }
3410 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
3411 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
3412 public TerminalNode ENCRYPTION_TYPE() { return getToken(SQLServerStatementParser.ENCRYPTION_TYPE, 0); }
3413 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
3414 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
3415 public TerminalNode TEXTIMAGE_ON() { return getToken(SQLServerStatementParser.TEXTIMAGE_ON, 0); }
3416 public TerminalNode WAIT_AT_LOW_PRIORITY() { return getToken(SQLServerStatementParser.WAIT_AT_LOW_PRIORITY, 0); }
3417 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
3418 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
3419 public TerminalNode ROUND_ROBIN() { return getToken(SQLServerStatementParser.ROUND_ROBIN, 0); }
3420 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
3421 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
3422 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
3423 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
3424 public TerminalNode IMPLICIT_TRANSACTIONS() { return getToken(SQLServerStatementParser.IMPLICIT_TRANSACTIONS, 0); }
3425 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
3426 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
3427 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
3428 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
3429 public TerminalNode REMOTE_DATA_ARCHIVE() { return getToken(SQLServerStatementParser.REMOTE_DATA_ARCHIVE, 0); }
3430 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
3431 public TerminalNode FILETABLE_COLLATE_FILENAME() { return getToken(SQLServerStatementParser.FILETABLE_COLLATE_FILENAME, 0); }
3432 public TerminalNode FILETABLE_DIRECTORY() { return getToken(SQLServerStatementParser.FILETABLE_DIRECTORY, 0); }
3433 public TerminalNode FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME, 0); }
3434 public TerminalNode FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME, 0); }
3435 public TerminalNode FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME, 0); }
3436 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
3437 public TerminalNode FILTER_PREDICATE() { return getToken(SQLServerStatementParser.FILTER_PREDICATE, 0); }
3438 public TerminalNode HISTORY_RETENTION_PERIOD() { return getToken(SQLServerStatementParser.HISTORY_RETENTION_PERIOD, 0); }
3439 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
3440 public TerminalNode LOCK_ESCALATION() { return getToken(SQLServerStatementParser.LOCK_ESCALATION, 0); }
3441 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
3442 public TerminalNode ROW_NUMBER() { return getToken(SQLServerStatementParser.ROW_NUMBER, 0); }
3443 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
3444 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
3445 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
3446 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
3447 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
3448 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
3449 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
3450 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
3451 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
3452 public TerminalNode RECEIVE() { return getToken(SQLServerStatementParser.RECEIVE, 0); }
3453 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
3454 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
3455 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
3456 public TerminalNode RESOURCES() { return getToken(SQLServerStatementParser.RESOURCES, 0); }
3457 public TerminalNode SETTINGS() { return getToken(SQLServerStatementParser.SETTINGS, 0); }
3458 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
3459 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
3460 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
3461 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
3462 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
3463 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
3464 public TerminalNode LINKED() { return getToken(SQLServerStatementParser.LINKED, 0); }
3465 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
3466 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
3467 public TerminalNode SQL() { return getToken(SQLServerStatementParser.SQL, 0); }
3468 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
3469 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
3470 public TerminalNode SECURABLES() { return getToken(SQLServerStatementParser.SECURABLES, 0); }
3471 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
3472 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
3473 public TerminalNode ACCESS() { return getToken(SQLServerStatementParser.ACCESS, 0); }
3474 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
3475 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
3476 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
3477 public TerminalNode UNSAFE() { return getToken(SQLServerStatementParser.UNSAFE, 0); }
3478 public TerminalNode SHUTDOWN() { return getToken(SQLServerStatementParser.SHUTDOWN, 0); }
3479 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
3480 public TerminalNode CONFIGURATION() { return getToken(SQLServerStatementParser.CONFIGURATION, 0); }
3481 public TerminalNode DATASPACE() { return getToken(SQLServerStatementParser.DATASPACE, 0); }
3482 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
3483 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
3484 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
3485 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
3486 public TerminalNode MASTER() { return getToken(SQLServerStatementParser.MASTER, 0); }
3487 public TerminalNode DATA() { return getToken(SQLServerStatementParser.DATA, 0); }
3488 public TerminalNode SOURCE() { return getToken(SQLServerStatementParser.SOURCE, 0); }
3489 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
3490 public TerminalNode FORMAT() { return getToken(SQLServerStatementParser.FORMAT, 0); }
3491 public TerminalNode LIBRARY() { return getToken(SQLServerStatementParser.LIBRARY, 0); }
3492 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
3493 public TerminalNode MASK() { return getToken(SQLServerStatementParser.MASK, 0); }
3494 public TerminalNode UNMASK() { return getToken(SQLServerStatementParser.UNMASK, 0); }
3495 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
3496 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
3497 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
3498 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
3499 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
3500 public TerminalNode SECURITY() { return getToken(SQLServerStatementParser.SECURITY, 0); }
3501 public TerminalNode POLICY() { return getToken(SQLServerStatementParser.POLICY, 0); }
3502 public TerminalNode AGGREGATE() { return getToken(SQLServerStatementParser.AGGREGATE, 0); }
3503 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
3504 public TerminalNode RULE() { return getToken(SQLServerStatementParser.RULE, 0); }
3505 public TerminalNode SYNONYM() { return getToken(SQLServerStatementParser.SYNONYM, 0); }
3506 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
3507 public TerminalNode SCRIPT() { return getToken(SQLServerStatementParser.SCRIPT, 0); }
3508 public TerminalNode KILL() { return getToken(SQLServerStatementParser.KILL, 0); }
3509 public TerminalNode BACKUP() { return getToken(SQLServerStatementParser.BACKUP, 0); }
3510 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
3511 public TerminalNode SHOWPLAN() { return getToken(SQLServerStatementParser.SHOWPLAN, 0); }
3512 public TerminalNode SUBSCRIBE() { return getToken(SQLServerStatementParser.SUBSCRIBE, 0); }
3513 public TerminalNode QUERY() { return getToken(SQLServerStatementParser.QUERY, 0); }
3514 public TerminalNode NOTIFICATIONS() { return getToken(SQLServerStatementParser.NOTIFICATIONS, 0); }
3515 public TerminalNode CHECKPOINT() { return getToken(SQLServerStatementParser.CHECKPOINT, 0); }
3516 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
3517 public TerminalNode INSTANCE() { return getToken(SQLServerStatementParser.INSTANCE, 0); }
3518 public TerminalNode DO() { return getToken(SQLServerStatementParser.DO, 0); }
3519 public TerminalNode DEFINER() { return getToken(SQLServerStatementParser.DEFINER, 0); }
3520 public TerminalNode LOCAL() { return getToken(SQLServerStatementParser.LOCAL, 0); }
3521 public TerminalNode CASCADED() { return getToken(SQLServerStatementParser.CASCADED, 0); }
3522 public TerminalNode NEXT() { return getToken(SQLServerStatementParser.NEXT, 0); }
3523 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
3524 public TerminalNode INTEGER() { return getToken(SQLServerStatementParser.INTEGER, 0); }
3525 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
3526 public TerminalNode MIN() { return getToken(SQLServerStatementParser.MIN, 0); }
3527 public TerminalNode SUM() { return getToken(SQLServerStatementParser.SUM, 0); }
3528 public TerminalNode COUNT() { return getToken(SQLServerStatementParser.COUNT, 0); }
3529 public TerminalNode AVG() { return getToken(SQLServerStatementParser.AVG, 0); }
3530 public TerminalNode FIRST() { return getToken(SQLServerStatementParser.FIRST, 0); }
3531 public TerminalNode DATETIME2() { return getToken(SQLServerStatementParser.DATETIME2, 0); }
3532 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
3533 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
3534 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
3535 public TerminalNode KB() { return getToken(SQLServerStatementParser.KB, 0); }
3536 public TerminalNode MB() { return getToken(SQLServerStatementParser.MB, 0); }
3537 public TerminalNode GB() { return getToken(SQLServerStatementParser.GB, 0); }
3538 public TerminalNode TB() { return getToken(SQLServerStatementParser.TB, 0); }
3539 public TerminalNode FILENAME() { return getToken(SQLServerStatementParser.FILENAME, 0); }
3540 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
3541 public TerminalNode FILEGROWTH() { return getToken(SQLServerStatementParser.FILEGROWTH, 0); }
3542 public TerminalNode UNLIMITED() { return getToken(SQLServerStatementParser.UNLIMITED, 0); }
3543 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
3544 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
3545 public TerminalNode NON_TRANSACTED_ACCESS() { return getToken(SQLServerStatementParser.NON_TRANSACTED_ACCESS, 0); }
3546 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
3547 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
3548 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
3549 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
3550 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
3551 public TerminalNode DATEPART() { return getToken(SQLServerStatementParser.DATEPART, 0); }
3552 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
3553 public TerminalNode DAY() { return getToken(SQLServerStatementParser.DAY, 0); }
3554 public TerminalNode FORWARD_ONLY() { return getToken(SQLServerStatementParser.FORWARD_ONLY, 0); }
3555 public TerminalNode KEYSET() { return getToken(SQLServerStatementParser.KEYSET, 0); }
3556 public TerminalNode FAST_FORWARD() { return getToken(SQLServerStatementParser.FAST_FORWARD, 0); }
3557 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
3558 public TerminalNode SCROLL_LOCKS() { return getToken(SQLServerStatementParser.SCROLL_LOCKS, 0); }
3559 public TerminalNode OPTIMISTIC() { return getToken(SQLServerStatementParser.OPTIMISTIC, 0); }
3560 public TerminalNode TYPE_WARNING() { return getToken(SQLServerStatementParser.TYPE_WARNING, 0); }
3561 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
3562 public TerminalNode CALLER() { return getToken(SQLServerStatementParser.CALLER, 0); }
3563 public TerminalNode OWNER() { return getToken(SQLServerStatementParser.OWNER, 0); }
3564 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
3565 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
3566 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
3567 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
3568 public TerminalNode VIEW_METADATA() { return getToken(SQLServerStatementParser.VIEW_METADATA, 0); }
3569 public TerminalNode INSTEAD() { return getToken(SQLServerStatementParser.INSTEAD, 0); }
3570 public TerminalNode APPEND() { return getToken(SQLServerStatementParser.APPEND, 0); }
3571 public TerminalNode INCREMENT() { return getToken(SQLServerStatementParser.INCREMENT, 0); }
3572 public TerminalNode CACHE() { return getToken(SQLServerStatementParser.CACHE, 0); }
3573 public TerminalNode MINVALUE() { return getToken(SQLServerStatementParser.MINVALUE, 0); }
3574 public TerminalNode MAXVALUE() { return getToken(SQLServerStatementParser.MAXVALUE, 0); }
3575 public TerminalNode RESTART() { return getToken(SQLServerStatementParser.RESTART, 0); }
3576 public TerminalNode LOB_COMPACTION() { return getToken(SQLServerStatementParser.LOB_COMPACTION, 0); }
3577 public TerminalNode COMPRESS_ALL_ROW_GROUPS() { return getToken(SQLServerStatementParser.COMPRESS_ALL_ROW_GROUPS, 0); }
3578 public TerminalNode REORGANIZE() { return getToken(SQLServerStatementParser.REORGANIZE, 0); }
3579 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
3580 public TerminalNode PAUSE() { return getToken(SQLServerStatementParser.PAUSE, 0); }
3581 public TerminalNode ABORT() { return getToken(SQLServerStatementParser.ABORT, 0); }
3582 public TerminalNode ACCELERATED_DATABASE_RECOVERY() { return getToken(SQLServerStatementParser.ACCELERATED_DATABASE_RECOVERY, 0); }
3583 public TerminalNode PERSISTENT_VERSION_STORE_FILEGROUP() { return getToken(SQLServerStatementParser.PERSISTENT_VERSION_STORE_FILEGROUP, 0); }
3584 public TerminalNode IMMEDIATE() { return getToken(SQLServerStatementParser.IMMEDIATE, 0); }
3585 public TerminalNode NO_WAIT() { return getToken(SQLServerStatementParser.NO_WAIT, 0); }
3586 public TerminalNode TARGET_RECOVERY_TIME() { return getToken(SQLServerStatementParser.TARGET_RECOVERY_TIME, 0); }
3587 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
3588 public TerminalNode HONOR_BROKER_PRIORITY() { return getToken(SQLServerStatementParser.HONOR_BROKER_PRIORITY, 0); }
3589 public TerminalNode ERROR_BROKER_CONVERSATIONS() { return getToken(SQLServerStatementParser.ERROR_BROKER_CONVERSATIONS, 0); }
3590 public TerminalNode NEW_BROKER() { return getToken(SQLServerStatementParser.NEW_BROKER, 0); }
3591 public TerminalNode DISABLE_BROKER() { return getToken(SQLServerStatementParser.DISABLE_BROKER, 0); }
3592 public TerminalNode ENABLE_BROKER() { return getToken(SQLServerStatementParser.ENABLE_BROKER, 0); }
3593 public TerminalNode MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT, 0); }
3594 public TerminalNode READ_COMMITTED_SNAPSHOT() { return getToken(SQLServerStatementParser.READ_COMMITTED_SNAPSHOT, 0); }
3595 public TerminalNode ALLOW_SNAPSHOT_ISOLATION() { return getToken(SQLServerStatementParser.ALLOW_SNAPSHOT_ISOLATION, 0); }
3596 public TerminalNode RECURSIVE_TRIGGERS() { return getToken(SQLServerStatementParser.RECURSIVE_TRIGGERS, 0); }
3597 public TerminalNode QUOTED_IDENTIFIER() { return getToken(SQLServerStatementParser.QUOTED_IDENTIFIER, 0); }
3598 public TerminalNode NUMERIC_ROUNDABORT() { return getToken(SQLServerStatementParser.NUMERIC_ROUNDABORT, 0); }
3599 public TerminalNode CONCAT_NULL_YIELDS_NULL() { return getToken(SQLServerStatementParser.CONCAT_NULL_YIELDS_NULL, 0); }
3600 public TerminalNode COMPATIBILITY_LEVEL() { return getToken(SQLServerStatementParser.COMPATIBILITY_LEVEL, 0); }
3601 public TerminalNode ARITHABORT() { return getToken(SQLServerStatementParser.ARITHABORT, 0); }
3602 public TerminalNode ANSI_WARNINGS() { return getToken(SQLServerStatementParser.ANSI_WARNINGS, 0); }
3603 public TerminalNode ANSI_PADDING() { return getToken(SQLServerStatementParser.ANSI_PADDING, 0); }
3604 public TerminalNode ANSI_NULLS() { return getToken(SQLServerStatementParser.ANSI_NULLS, 0); }
3605 public TerminalNode ANSI_NULL_DEFAULT() { return getToken(SQLServerStatementParser.ANSI_NULL_DEFAULT, 0); }
3606 public TerminalNode PAGE_VERIFY() { return getToken(SQLServerStatementParser.PAGE_VERIFY, 0); }
3607 public TerminalNode CHECKSUM() { return getToken(SQLServerStatementParser.CHECKSUM, 0); }
3608 public TerminalNode TORN_PAGE_DETECTION() { return getToken(SQLServerStatementParser.TORN_PAGE_DETECTION, 0); }
3609 public TerminalNode BULK_LOGGED() { return getToken(SQLServerStatementParser.BULK_LOGGED, 0); }
3610 public TerminalNode RECOVERY() { return getToken(SQLServerStatementParser.RECOVERY, 0); }
3611 public TerminalNode TOTAL_EXECUTION_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_EXECUTION_CPU_TIME_MS, 0); }
3612 public TerminalNode TOTAL_COMPILE_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_COMPILE_CPU_TIME_MS, 0); }
3613 public TerminalNode STALE_CAPTURE_POLICY_THRESHOLD() { return getToken(SQLServerStatementParser.STALE_CAPTURE_POLICY_THRESHOLD, 0); }
3614 public TerminalNode EXECUTION_COUNT() { return getToken(SQLServerStatementParser.EXECUTION_COUNT, 0); }
3615 public TerminalNode QUERY_CAPTURE_POLICY() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_POLICY, 0); }
3616 public TerminalNode WAIT_STATS_CAPTURE_MODE() { return getToken(SQLServerStatementParser.WAIT_STATS_CAPTURE_MODE, 0); }
3617 public TerminalNode MAX_PLANS_PER_QUERY() { return getToken(SQLServerStatementParser.MAX_PLANS_PER_QUERY, 0); }
3618 public TerminalNode QUERY_CAPTURE_MODE() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_MODE, 0); }
3619 public TerminalNode SIZE_BASED_CLEANUP_MODE() { return getToken(SQLServerStatementParser.SIZE_BASED_CLEANUP_MODE, 0); }
3620 public TerminalNode INTERVAL_LENGTH_MINUTES() { return getToken(SQLServerStatementParser.INTERVAL_LENGTH_MINUTES, 0); }
3621 public TerminalNode MAX_STORAGE_SIZE_MB() { return getToken(SQLServerStatementParser.MAX_STORAGE_SIZE_MB, 0); }
3622 public TerminalNode DATA_FLUSH_INTERVAL_SECONDS() { return getToken(SQLServerStatementParser.DATA_FLUSH_INTERVAL_SECONDS, 0); }
3623 public TerminalNode CLEANUP_POLICY() { return getToken(SQLServerStatementParser.CLEANUP_POLICY, 0); }
3624 public TerminalNode CUSTOM() { return getToken(SQLServerStatementParser.CUSTOM, 0); }
3625 public TerminalNode STALE_QUERY_THRESHOLD_DAYS() { return getToken(SQLServerStatementParser.STALE_QUERY_THRESHOLD_DAYS, 0); }
3626 public TerminalNode OPERATION_MODE() { return getToken(SQLServerStatementParser.OPERATION_MODE, 0); }
3627 public TerminalNode QUERY_STORE() { return getToken(SQLServerStatementParser.QUERY_STORE, 0); }
3628 public TerminalNode CURSOR_DEFAULT() { return getToken(SQLServerStatementParser.CURSOR_DEFAULT, 0); }
3629 public TerminalNode GLOBAL() { return getToken(SQLServerStatementParser.GLOBAL, 0); }
3630 public TerminalNode CURSOR_CLOSE_ON_COMMIT() { return getToken(SQLServerStatementParser.CURSOR_CLOSE_ON_COMMIT, 0); }
3631 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
3632 public TerminalNode CHANGE_RETENTION() { return getToken(SQLServerStatementParser.CHANGE_RETENTION, 0); }
3633 public TerminalNode AUTO_CLEANUP() { return getToken(SQLServerStatementParser.AUTO_CLEANUP, 0); }
3634 public TerminalNode CHANGE_TRACKING() { return getToken(SQLServerStatementParser.CHANGE_TRACKING, 0); }
3635 public TerminalNode AUTOMATIC_TUNING() { return getToken(SQLServerStatementParser.AUTOMATIC_TUNING, 0); }
3636 public TerminalNode FORCE_LAST_GOOD_PLAN() { return getToken(SQLServerStatementParser.FORCE_LAST_GOOD_PLAN, 0); }
3637 public TerminalNode AUTO_UPDATE_STATISTICS_ASYNC() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); }
3638 public TerminalNode AUTO_UPDATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS, 0); }
3639 public TerminalNode AUTO_SHRINK() { return getToken(SQLServerStatementParser.AUTO_SHRINK, 0); }
3640 public TerminalNode AUTO_CREATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_CREATE_STATISTICS, 0); }
3641 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
3642 public TerminalNode AUTO_CLOSE() { return getToken(SQLServerStatementParser.AUTO_CLOSE, 0); }
3643 public TerminalNode DATA_RETENTION() { return getToken(SQLServerStatementParser.DATA_RETENTION, 0); }
3644 public TerminalNode TEMPORAL_HISTORY_RETENTION() { return getToken(SQLServerStatementParser.TEMPORAL_HISTORY_RETENTION, 0); }
3645 public TerminalNode EDITION() { return getToken(SQLServerStatementParser.EDITION, 0); }
3646 public TerminalNode MIXED_PAGE_ALLOCATION() { return getToken(SQLServerStatementParser.MIXED_PAGE_ALLOCATION, 0); }
3647 public TerminalNode DISABLED() { return getToken(SQLServerStatementParser.DISABLED, 0); }
3648 public TerminalNode ALLOWED() { return getToken(SQLServerStatementParser.ALLOWED, 0); }
3649 public TerminalNode HADR() { return getToken(SQLServerStatementParser.HADR, 0); }
3650 public TerminalNode MULTI_USER() { return getToken(SQLServerStatementParser.MULTI_USER, 0); }
3651 public TerminalNode RESTRICTED_USER() { return getToken(SQLServerStatementParser.RESTRICTED_USER, 0); }
3652 public TerminalNode SINGLE_USER() { return getToken(SQLServerStatementParser.SINGLE_USER, 0); }
3653 public TerminalNode OFFLINE() { return getToken(SQLServerStatementParser.OFFLINE, 0); }
3654 public TerminalNode EMERGENCY() { return getToken(SQLServerStatementParser.EMERGENCY, 0); }
3655 public TerminalNode SUSPEND() { return getToken(SQLServerStatementParser.SUSPEND, 0); }
3656 public TerminalNode DATE_CORRELATION_OPTIMIZATION() { return getToken(SQLServerStatementParser.DATE_CORRELATION_OPTIMIZATION, 0); }
3657 public TerminalNode ELASTIC_POOL() { return getToken(SQLServerStatementParser.ELASTIC_POOL, 0); }
3658 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
3659 public TerminalNode DATABASE_NAME() { return getToken(SQLServerStatementParser.DATABASE_NAME, 0); }
3660 public TerminalNode ALLOW_CONNECTIONS() { return getToken(SQLServerStatementParser.ALLOW_CONNECTIONS, 0); }
3661 public TerminalNode GEO() { return getToken(SQLServerStatementParser.GEO, 0); }
3662 public TerminalNode NAMED() { return getToken(SQLServerStatementParser.NAMED, 0); }
3663 public TerminalNode DATEFIRST() { return getToken(SQLServerStatementParser.DATEFIRST, 0); }
3664 public TerminalNode BACKUP_STORAGE_REDUNDANCY() { return getToken(SQLServerStatementParser.BACKUP_STORAGE_REDUNDANCY, 0); }
3665 public TerminalNode FORCE_FAILOVER_ALLOW_DATA_LOSS() { return getToken(SQLServerStatementParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); }
3666 public TerminalNode SECONDARY() { return getToken(SQLServerStatementParser.SECONDARY, 0); }
3667 public TerminalNode FAILOVER() { return getToken(SQLServerStatementParser.FAILOVER, 0); }
3668 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
3669 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
3670 public TerminalNode INLINE() { return getToken(SQLServerStatementParser.INLINE, 0); }
3671 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
3672 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
3673 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
3674 public TerminalNode PERSISTENT_LOG_BUFFER() { return getToken(SQLServerStatementParser.PERSISTENT_LOG_BUFFER, 0); }
3675 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
3676 public TerminalNode DATEFORMAT() { return getToken(SQLServerStatementParser.DATEFORMAT, 0); }
3677 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
3678 public TerminalNode TRANSFER() { return getToken(SQLServerStatementParser.TRANSFER, 0); }
3679 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
3680 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
3681 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
3682 public TerminalNode MEMBER() { return getToken(SQLServerStatementParser.MEMBER, 0); }
3683 public TerminalNode SEARCH() { return getToken(SQLServerStatementParser.SEARCH, 0); }
3684 public UnreservedWordContext(ParserRuleContext parent, int invokingState) {
3685 super(parent, invokingState);
3686 }
3687 @Override public int getRuleIndex() { return RULE_unreservedWord; }
3688 @Override
3689 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3690 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUnreservedWord(this);
3691 else return visitor.visitChildren(this);
3692 }
3693 }
3694
3695 public final UnreservedWordContext unreservedWord() throws RecognitionException {
3696 UnreservedWordContext _localctx = new UnreservedWordContext(_ctx, getState());
3697 enterRule(_localctx, 48, RULE_unreservedWord);
3698 int _la;
3699 try {
3700 enterOuterAlt(_localctx, 1);
3701 {
3702 setState(1147);
3703 _la = _input.LA(1);
3704 if ( !(((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (GROUP - 53)))) != 0) || ((((_la - 121)) & ~0x3f) == 0 && ((1L << (_la - 121)) & ((1L << (LIMIT - 121)) | (1L << (OFFSET - 121)) | (1L << (SAVEPOINT - 121)) | (1L << (BOOLEAN - 121)) | (1L << (ARRAY - 121)) | (1L << (DATE - 121)) | (1L << (LOCALTIME - 121)) | (1L << (LOCALTIMESTAMP - 121)) | (1L << (QUARTER - 121)) | (1L << (WEEK - 121)) | (1L << (DAY - 121)) | (1L << (MICROSECOND - 121)) | (1L << (MAX - 121)) | (1L << (MIN - 121)) | (1L << (SUM - 121)) | (1L << (COUNT - 121)) | (1L << (AVG - 121)) | (1L << (ENABLE - 121)) | (1L << (DISABLE - 121)) | (1L << (INSTANCE - 121)) | (1L << (DO - 121)) | (1L << (DEFINER - 121)) | (1L << (SQL - 121)) | (1L << (CASCADED - 121)) | (1L << (LOCAL - 121)) | (1L << (NEXT - 121)) | (1L << (NAME - 121)) | (1L << (INTEGER - 121)) | (1L << (TYPE - 121)))) != 0) || ((((_la - 201)) & ~0x3f) == 0 && ((1L << (_la - 201)) & ((1L << (READ_ONLY - 201)) | (1L << (DATABASE - 201)) | (1L << (DATEPART - 201)) | (1L << (PASSWORD - 201)) | (1L << (BINARY - 201)) | (1L << (HIDDEN_ - 201)) | (1L << (MOD - 201)) | (1L << (PARTITION - 201)) | (1L << (PARTITIONS - 201)) | (1L << (TOP - 201)) | (1L << (ROW - 201)) | (1L << (ROWS - 201)) | (1L << (XOR - 201)) | (1L << (ALWAYS - 201)) | (1L << (ROLE - 201)) | (1L << (START - 201)) | (1L << (ALGORITHM - 201)) | (1L << (AUTO - 201)) | (1L << (BLOCKERS - 201)) | (1L << (CLUSTERED - 201)) | (1L << (NONCLUSTERED - 201)) | (1L << (COLUMNSTORE - 201)) | (1L << (CONTENT - 201)) | (1L << (YEARS - 201)) | (1L << (MONTHS - 201)) | (1L << (WEEKS - 201)) | (1L << (DAYS - 201)) | (1L << (MINUTES - 201)) | (1L << (DENY - 201)) | (1L << (DETERMINISTIC - 201)) | (1L << (DISTRIBUTION - 201)) | (1L << (DOCUMENT - 201)) | (1L << (DURABILITY - 201)) | (1L << (ENCRYPTED - 201)) | (1L << (FILESTREAM - 201)) | (1L << (FILETABLE - 201)) | (1L << (FILLFACTOR - 201)) | (1L << (FOLLOWING - 201)) | (1L << (HASH - 201)) | (1L << (HEAP - 201)))) != 0) || ((((_la - 266)) & ~0x3f) == 0 && ((1L << (_la - 266)) & ((1L << (INBOUND - 266)) | (1L << (OUTBOUND - 266)) | (1L << (UNBOUNDED - 266)) | (1L << (INFINITE - 266)) | (1L << (LOGIN - 266)) | (1L << (MASKED - 266)) | (1L << (MAXDOP - 266)) | (1L << (MOVE - 266)) | (1L << (NOCHECK - 266)) | (1L << (OBJECT - 266)) | (1L << (OFF - 266)) | (1L << (ONLINE - 266)) | (1L << (OVER - 266)) | (1L << (PAGE - 266)) | (1L << (PAUSED - 266)) | (1L << (PERIOD - 266)) | (1L << (PERSISTED - 266)) | (1L << (PRECEDING - 266)) | (1L << (RANDOMIZED - 266)) | (1L << (RANGE - 266)) | (1L << (REBUILD - 266)) | (1L << (REPLICATE - 266)) | (1L << (REPLICATION - 266)) | (1L << (RESUMABLE - 266)) | (1L << (ROWGUIDCOL - 266)) | (1L << (SAVE - 266)) | (1L << (SELF - 266)) | (1L << (SPARSE - 266)) | (1L << (SWITCH - 266)) | (1L << (TRAN - 266)) | (1L << (TRANCOUNT - 266)) | (1L << (CONTROL - 266)) | (1L << (CONCAT - 266)) | (1L << (TAKE - 266)) | (1L << (OWNERSHIP - 266)) | (1L << (DEFINITION - 266)) | (1L << (APPLICATION - 266)) | (1L << (ASSEMBLY - 266)) | (1L << (SYMMETRIC - 266)) | (1L << (ASYMMETRIC - 266)) | (1L << (SERVER - 266)) | (1L << (RECEIVE - 266)) | (1L << (CHANGE - 266)) | (1L << (TRACE - 266)) | (1L << (TRACKING - 266)) | (1L << (RESOURCES - 266)) | (1L << (SETTINGS - 266)) | (1L << (STATE - 266)) | (1L << (AVAILABILITY - 266)) | (1L << (CREDENTIAL - 266)) | (1L << (ENDPOINT - 266)) | (1L << (EVENT - 266)) | (1L << (NOTIFICATION - 266)) | (1L << (LINKED - 266)) | (1L << (AUDIT - 266)) | (1L << (DDL - 266)))) != 0) || ((((_la - 330)) & ~0x3f) == 0 && ((1L << (_la - 330)) & ((1L << (XML - 330)) | (1L << (IMPERSONATE - 330)) | (1L << (SECURABLES - 330)) | (1L << (AUTHENTICATE - 330)) | (1L << (EXTERNAL - 330)) | (1L << (ACCESS - 330)) | (1L << (ADMINISTER - 330)) | (1L << (BULK - 330)) | (1L << (OPERATIONS - 330)) | (1L << (UNSAFE - 330)) | (1L << (SHUTDOWN - 330)) | (1L << (SCOPED - 330)) | (1L << (CONFIGURATION - 330)) | (1L << (DATASPACE - 330)) | (1L << (SERVICE - 330)) | (1L << (CERTIFICATE - 330)) | (1L << (CONTRACT - 330)) | (1L << (ENCRYPTION - 330)) | (1L << (MASTER - 330)) | (1L << (DATA - 330)) | (1L << (SOURCE - 330)) | (1L << (FILE - 330)) | (1L << (FORMAT - 330)) | (1L << (LIBRARY - 330)) | (1L << (FULLTEXT - 330)) | (1L << (MASK - 330)) | (1L << (UNMASK - 330)) | (1L << (MESSAGE - 330)) | (1L << (REMOTE - 330)) | (1L << (BINDING - 330)) | (1L << (ROUTE - 330)) | (1L << (SECURITY - 330)) | (1L << (POLICY - 330)) | (1L << (AGGREGATE - 330)) | (1L << (QUEUE - 330)) | (1L << (RULE - 330)) | (1L << (SYNONYM - 330)) | (1L << (COLLECTION - 330)) | (1L << (SCRIPT - 330)) | (1L << (KILL - 330)) | (1L << (BACKUP - 330)) | (1L << (LOG - 330)) | (1L << (SHOWPLAN - 330)) | (1L << (SUBSCRIBE - 330)) | (1L << (QUERY - 330)) | (1L << (NOTIFICATIONS - 330)) | (1L << (CHECKPOINT - 330)) | (1L << (SEQUENCE - 330)) | (1L << (ABORT_AFTER_WAIT - 330)) | (1L << (ALLOW_PAGE_LOCKS - 330)) | (1L << (ALLOW_ROW_LOCKS - 330)) | (1L << (ALL_SPARSE_COLUMNS - 330)) | (1L << (BUCKET_COUNT - 330)) | (1L << (COLUMNSTORE_ARCHIVE - 330)) | (1L << (COLUMN_ENCRYPTION_KEY - 330)) | (1L << (COLUMN_SET - 330)) | (1L << (COMPRESSION_DELAY - 330)) | (1L << (DATABASE_DEAULT - 330)) | (1L << (DATA_COMPRESSION - 330)) | (1L << (DATA_CONSISTENCY_CHECK - 330)) | (1L << (ENCRYPTION_TYPE - 330)) | (1L << (SYSTEM_TIME - 330)) | (1L << (SYSTEM_VERSIONING - 330)) | (1L << (TEXTIMAGE_ON - 330)))) != 0) || ((((_la - 394)) & ~0x3f) == 0 && ((1L << (_la - 394)) & ((1L << (WAIT_AT_LOW_PRIORITY - 394)) | (1L << (STATISTICS_INCREMENTAL - 394)) | (1L << (STATISTICS_NORECOMPUTE - 394)) | (1L << (ROUND_ROBIN - 394)) | (1L << (SCHEMA_AND_DATA - 394)) | (1L << (SCHEMA_ONLY - 394)) | (1L << (SORT_IN_TEMPDB - 394)) | (1L << (IGNORE_DUP_KEY - 394)) | (1L << (IMPLICIT_TRANSACTIONS - 394)) | (1L << (MAX_DURATION - 394)) | (1L << (MEMORY_OPTIMIZED - 394)) | (1L << (MIGRATION_STATE - 394)) | (1L << (PAD_INDEX - 394)) | (1L << (REMOTE_DATA_ARCHIVE - 394)) | (1L << (FILESTREAM_ON - 394)) | (1L << (FILETABLE_COLLATE_FILENAME - 394)) | (1L << (FILETABLE_DIRECTORY - 394)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILTER_PREDICATE - 394)) | (1L << (HISTORY_RETENTION_PERIOD - 394)) | (1L << (HISTORY_TABLE - 394)) | (1L << (LOCK_ESCALATION - 394)) | (1L << (DROP_EXISTING - 394)) | (1L << (ROW_NUMBER - 394)) | (1L << (FIRST - 394)) | (1L << (DATETIME2 - 394)) | (1L << (OUTPUT - 394)) | (1L << (INSERTED - 394)) | (1L << (DELETED - 394)))) != 0) || ((((_la - 478)) & ~0x3f) == 0 && ((1L << (_la - 478)) & ((1L << (FILENAME - 478)) | (1L << (MAXSIZE - 478)) | (1L << (FILEGROWTH - 478)) | (1L << (UNLIMITED - 478)) | (1L << (KB - 478)) | (1L << (MB - 478)) | (1L << (GB - 478)) | (1L << (TB - 478)) | (1L << (MEMORY_OPTIMIZED_DATA - 478)) | (1L << (FILEGROUP - 478)) | (1L << (NON_TRANSACTED_ACCESS - 478)) | (1L << (DB_CHAINING - 478)) | (1L << (TRUSTWORTHY - 478)) | (1L << (FORWARD_ONLY - 478)) | (1L << (KEYSET - 478)) | (1L << (FAST_FORWARD - 478)) | (1L << (SCROLL_LOCKS - 478)) | (1L << (OPTIMISTIC - 478)) | (1L << (TYPE_WARNING - 478)) | (1L << (SCHEMABINDING - 478)) | (1L << (CALLER - 478)) | (1L << (OWNER - 478)) | (1L << (SNAPSHOT - 478)) | (1L << (REPEATABLE - 478)) | (1L << (SERIALIZABLE - 478)) | (1L << (NATIVE_COMPILATION - 478)) | (1L << (VIEW_METADATA - 478)) | (1L << (INSTEAD - 478)) | (1L << (APPEND - 478)) | (1L << (INCREMENT - 478)) | (1L << (CACHE - 478)) | (1L << (MINVALUE - 478)) | (1L << (MAXVALUE - 478)) | (1L << (RESTART - 478)) | (1L << (LOB_COMPACTION - 478)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 478)) | (1L << (REORGANIZE - 478)) | (1L << (RESUME - 478)) | (1L << (PAUSE - 478)) | (1L << (ABORT - 478)))) != 0) || ((((_la - 544)) & ~0x3f) == 0 && ((1L << (_la - 544)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 544)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 544)) | (1L << (IMMEDIATE - 544)) | (1L << (NO_WAIT - 544)) | (1L << (TARGET_RECOVERY_TIME - 544)) | (1L << (SECONDS - 544)) | (1L << (HONOR_BROKER_PRIORITY - 544)) | (1L << (ERROR_BROKER_CONVERSATIONS - 544)) | (1L << (NEW_BROKER - 544)) | (1L << (DISABLE_BROKER - 544)) | (1L << (ENABLE_BROKER - 544)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 544)) | (1L << (READ_COMMITTED_SNAPSHOT - 544)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 544)) | (1L << (RECURSIVE_TRIGGERS - 544)) | (1L << (QUOTED_IDENTIFIER - 544)) | (1L << (NUMERIC_ROUNDABORT - 544)) | (1L << (CONCAT_NULL_YIELDS_NULL - 544)) | (1L << (COMPATIBILITY_LEVEL - 544)) | (1L << (ARITHABORT - 544)) | (1L << (ANSI_WARNINGS - 544)) | (1L << (ANSI_PADDING - 544)) | (1L << (ANSI_NULLS - 544)) | (1L << (ANSI_NULL_DEFAULT - 544)) | (1L << (PAGE_VERIFY - 544)) | (1L << (CHECKSUM - 544)) | (1L << (TORN_PAGE_DETECTION - 544)) | (1L << (BULK_LOGGED - 544)) | (1L << (RECOVERY - 544)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 544)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 544)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 544)) | (1L << (EXECUTION_COUNT - 544)) | (1L << (QUERY_CAPTURE_POLICY - 544)) | (1L << (WAIT_STATS_CAPTURE_MODE - 544)) | (1L << (MAX_PLANS_PER_QUERY - 544)) | (1L << (QUERY_CAPTURE_MODE - 544)) | (1L << (SIZE_BASED_CLEANUP_MODE - 544)) | (1L << (INTERVAL_LENGTH_MINUTES - 544)) | (1L << (MAX_STORAGE_SIZE_MB - 544)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 544)) | (1L << (CLEANUP_POLICY - 544)) | (1L << (CUSTOM - 544)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 544)) | (1L << (OPERATION_MODE - 544)) | (1L << (QUERY_STORE - 544)) | (1L << (CURSOR_DEFAULT - 544)) | (1L << (GLOBAL - 544)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 544)) | (1L << (HOURS - 544)) | (1L << (CHANGE_RETENTION - 544)) | (1L << (AUTO_CLEANUP - 544)) | (1L << (CHANGE_TRACKING - 544)) | (1L << (AUTOMATIC_TUNING - 544)) | (1L << (FORCE_LAST_GOOD_PLAN - 544)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 544)) | (1L << (AUTO_UPDATE_STATISTICS - 544)) | (1L << (AUTO_SHRINK - 544)) | (1L << (AUTO_CREATE_STATISTICS - 544)) | (1L << (INCREMENTAL - 544)) | (1L << (AUTO_CLOSE - 544)) | (1L << (DATA_RETENTION - 544)) | (1L << (TEMPORAL_HISTORY_RETENTION - 544)) | (1L << (EDITION - 544)))) != 0) || ((((_la - 608)) & ~0x3f) == 0 && ((1L << (_la - 608)) & ((1L << (MIXED_PAGE_ALLOCATION - 608)) | (1L << (DISABLED - 608)) | (1L << (ALLOWED - 608)) | (1L << (HADR - 608)) | (1L << (MULTI_USER - 608)) | (1L << (RESTRICTED_USER - 608)) | (1L << (SINGLE_USER - 608)) | (1L << (OFFLINE - 608)) | (1L << (EMERGENCY - 608)) | (1L << (SUSPEND - 608)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 608)) | (1L << (ELASTIC_POOL - 608)) | (1L << (SERVICE_OBJECTIVE - 608)) | (1L << (DATABASE_NAME - 608)) | (1L << (ALLOW_CONNECTIONS - 608)) | (1L << (GEO - 608)) | (1L << (NAMED - 608)) | (1L << (DATEFIRST - 608)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 608)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 608)) | (1L << (SECONDARY - 608)) | (1L << (FAILOVER - 608)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 608)) | (1L << (DEFAULT_LANGUAGE - 608)) | (1L << (INLINE - 608)) | (1L << (NESTED_TRIGGERS - 608)) | (1L << (TRANSFORM_NOISE_WORDS - 608)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 608)) | (1L << (PERSISTENT_LOG_BUFFER - 608)) | (1L << (DIRECTORY_NAME - 608)) | (1L << (DATEFORMAT - 608)) | (1L << (DELAYED_DURABILITY - 608)) | (1L << (AUTHORIZATION - 608)) | (1L << (TRANSFER - 608)) | (1L << (SEARCH - 608)) | (1L << (MEMBER - 608)))) != 0)) ) {
3705 _errHandler.recoverInline(this);
3706 }
3707 else {
3708 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
3709 _errHandler.reportMatch(this);
3710 consume();
3711 }
3712 }
3713 }
3714 catch (RecognitionException re) {
3715 _localctx.exception = re;
3716 _errHandler.reportError(this, re);
3717 _errHandler.recover(this, re);
3718 }
3719 finally {
3720 exitRule();
3721 }
3722 return _localctx;
3723 }
3724
3725 public static class DatabaseNameContext extends ParserRuleContext {
3726 public IdentifierContext identifier() {
3727 return getRuleContext(IdentifierContext.class,0);
3728 }
3729 public DatabaseNameContext(ParserRuleContext parent, int invokingState) {
3730 super(parent, invokingState);
3731 }
3732 @Override public int getRuleIndex() { return RULE_databaseName; }
3733 @Override
3734 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3735 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseName(this);
3736 else return visitor.visitChildren(this);
3737 }
3738 }
3739
3740 public final DatabaseNameContext databaseName() throws RecognitionException {
3741 DatabaseNameContext _localctx = new DatabaseNameContext(_ctx, getState());
3742 enterRule(_localctx, 50, RULE_databaseName);
3743 try {
3744 enterOuterAlt(_localctx, 1);
3745 {
3746 setState(1149);
3747 identifier();
3748 }
3749 }
3750 catch (RecognitionException re) {
3751 _localctx.exception = re;
3752 _errHandler.reportError(this, re);
3753 _errHandler.recover(this, re);
3754 }
3755 finally {
3756 exitRule();
3757 }
3758 return _localctx;
3759 }
3760
3761 public static class SchemaNameContext extends ParserRuleContext {
3762 public IdentifierContext identifier() {
3763 return getRuleContext(IdentifierContext.class,0);
3764 }
3765 public SchemaNameContext(ParserRuleContext parent, int invokingState) {
3766 super(parent, invokingState);
3767 }
3768 @Override public int getRuleIndex() { return RULE_schemaName; }
3769 @Override
3770 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3771 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaName(this);
3772 else return visitor.visitChildren(this);
3773 }
3774 }
3775
3776 public final SchemaNameContext schemaName() throws RecognitionException {
3777 SchemaNameContext _localctx = new SchemaNameContext(_ctx, getState());
3778 enterRule(_localctx, 52, RULE_schemaName);
3779 try {
3780 enterOuterAlt(_localctx, 1);
3781 {
3782 setState(1151);
3783 identifier();
3784 }
3785 }
3786 catch (RecognitionException re) {
3787 _localctx.exception = re;
3788 _errHandler.reportError(this, re);
3789 _errHandler.recover(this, re);
3790 }
3791 finally {
3792 exitRule();
3793 }
3794 return _localctx;
3795 }
3796
3797 public static class FunctionNameContext extends ParserRuleContext {
3798 public NameContext name() {
3799 return getRuleContext(NameContext.class,0);
3800 }
3801 public OwnerContext owner() {
3802 return getRuleContext(OwnerContext.class,0);
3803 }
3804 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3805 public FunctionNameContext(ParserRuleContext parent, int invokingState) {
3806 super(parent, invokingState);
3807 }
3808 @Override public int getRuleIndex() { return RULE_functionName; }
3809 @Override
3810 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3811 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionName(this);
3812 else return visitor.visitChildren(this);
3813 }
3814 }
3815
3816 public final FunctionNameContext functionName() throws RecognitionException {
3817 FunctionNameContext _localctx = new FunctionNameContext(_ctx, getState());
3818 enterRule(_localctx, 54, RULE_functionName);
3819 try {
3820 enterOuterAlt(_localctx, 1);
3821 {
3822 setState(1156);
3823 _errHandler.sync(this);
3824 switch ( getInterpreter().adaptivePredict(_input,20,_ctx) ) {
3825 case 1:
3826 {
3827 setState(1153);
3828 owner();
3829 setState(1154);
3830 match(DOT_);
3831 }
3832 break;
3833 }
3834 setState(1158);
3835 name();
3836 }
3837 }
3838 catch (RecognitionException re) {
3839 _localctx.exception = re;
3840 _errHandler.reportError(this, re);
3841 _errHandler.recover(this, re);
3842 }
3843 finally {
3844 exitRule();
3845 }
3846 return _localctx;
3847 }
3848
3849 public static class ProcedureNameContext extends ParserRuleContext {
3850 public NameContext name() {
3851 return getRuleContext(NameContext.class,0);
3852 }
3853 public OwnerContext owner() {
3854 return getRuleContext(OwnerContext.class,0);
3855 }
3856 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3857 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
3858 public NumberLiteralsContext numberLiterals() {
3859 return getRuleContext(NumberLiteralsContext.class,0);
3860 }
3861 public ProcedureNameContext(ParserRuleContext parent, int invokingState) {
3862 super(parent, invokingState);
3863 }
3864 @Override public int getRuleIndex() { return RULE_procedureName; }
3865 @Override
3866 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3867 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcedureName(this);
3868 else return visitor.visitChildren(this);
3869 }
3870 }
3871
3872 public final ProcedureNameContext procedureName() throws RecognitionException {
3873 ProcedureNameContext _localctx = new ProcedureNameContext(_ctx, getState());
3874 enterRule(_localctx, 56, RULE_procedureName);
3875 try {
3876 enterOuterAlt(_localctx, 1);
3877 {
3878 setState(1163);
3879 _errHandler.sync(this);
3880 switch ( getInterpreter().adaptivePredict(_input,21,_ctx) ) {
3881 case 1:
3882 {
3883 setState(1160);
3884 owner();
3885 setState(1161);
3886 match(DOT_);
3887 }
3888 break;
3889 }
3890 setState(1165);
3891 name();
3892 setState(1168);
3893 _errHandler.sync(this);
3894 switch ( getInterpreter().adaptivePredict(_input,22,_ctx) ) {
3895 case 1:
3896 {
3897 setState(1166);
3898 match(SEMI_);
3899 setState(1167);
3900 numberLiterals();
3901 }
3902 break;
3903 }
3904 }
3905 }
3906 catch (RecognitionException re) {
3907 _localctx.exception = re;
3908 _errHandler.reportError(this, re);
3909 _errHandler.recover(this, re);
3910 }
3911 finally {
3912 exitRule();
3913 }
3914 return _localctx;
3915 }
3916
3917 public static class ViewNameContext extends ParserRuleContext {
3918 public NameContext name() {
3919 return getRuleContext(NameContext.class,0);
3920 }
3921 public OwnerContext owner() {
3922 return getRuleContext(OwnerContext.class,0);
3923 }
3924 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3925 public ViewNameContext(ParserRuleContext parent, int invokingState) {
3926 super(parent, invokingState);
3927 }
3928 @Override public int getRuleIndex() { return RULE_viewName; }
3929 @Override
3930 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3931 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitViewName(this);
3932 else return visitor.visitChildren(this);
3933 }
3934 }
3935
3936 public final ViewNameContext viewName() throws RecognitionException {
3937 ViewNameContext _localctx = new ViewNameContext(_ctx, getState());
3938 enterRule(_localctx, 58, RULE_viewName);
3939 try {
3940 enterOuterAlt(_localctx, 1);
3941 {
3942 setState(1173);
3943 _errHandler.sync(this);
3944 switch ( getInterpreter().adaptivePredict(_input,23,_ctx) ) {
3945 case 1:
3946 {
3947 setState(1170);
3948 owner();
3949 setState(1171);
3950 match(DOT_);
3951 }
3952 break;
3953 }
3954 setState(1175);
3955 name();
3956 }
3957 }
3958 catch (RecognitionException re) {
3959 _localctx.exception = re;
3960 _errHandler.reportError(this, re);
3961 _errHandler.recover(this, re);
3962 }
3963 finally {
3964 exitRule();
3965 }
3966 return _localctx;
3967 }
3968
3969 public static class TriggerNameContext extends ParserRuleContext {
3970 public NameContext name() {
3971 return getRuleContext(NameContext.class,0);
3972 }
3973 public SchemaNameContext schemaName() {
3974 return getRuleContext(SchemaNameContext.class,0);
3975 }
3976 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
3977 public TriggerNameContext(ParserRuleContext parent, int invokingState) {
3978 super(parent, invokingState);
3979 }
3980 @Override public int getRuleIndex() { return RULE_triggerName; }
3981 @Override
3982 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
3983 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTriggerName(this);
3984 else return visitor.visitChildren(this);
3985 }
3986 }
3987
3988 public final TriggerNameContext triggerName() throws RecognitionException {
3989 TriggerNameContext _localctx = new TriggerNameContext(_ctx, getState());
3990 enterRule(_localctx, 60, RULE_triggerName);
3991 try {
3992 enterOuterAlt(_localctx, 1);
3993 {
3994 setState(1180);
3995 _errHandler.sync(this);
3996 switch ( getInterpreter().adaptivePredict(_input,24,_ctx) ) {
3997 case 1:
3998 {
3999 setState(1177);
4000 schemaName();
4001 setState(1178);
4002 match(DOT_);
4003 }
4004 break;
4005 }
4006 setState(1182);
4007 name();
4008 }
4009 }
4010 catch (RecognitionException re) {
4011 _localctx.exception = re;
4012 _errHandler.reportError(this, re);
4013 _errHandler.recover(this, re);
4014 }
4015 finally {
4016 exitRule();
4017 }
4018 return _localctx;
4019 }
4020
4021 public static class SequenceNameContext extends ParserRuleContext {
4022 public NameContext name() {
4023 return getRuleContext(NameContext.class,0);
4024 }
4025 public SchemaNameContext schemaName() {
4026 return getRuleContext(SchemaNameContext.class,0);
4027 }
4028 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4029 public SequenceNameContext(ParserRuleContext parent, int invokingState) {
4030 super(parent, invokingState);
4031 }
4032 @Override public int getRuleIndex() { return RULE_sequenceName; }
4033 @Override
4034 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4035 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSequenceName(this);
4036 else return visitor.visitChildren(this);
4037 }
4038 }
4039
4040 public final SequenceNameContext sequenceName() throws RecognitionException {
4041 SequenceNameContext _localctx = new SequenceNameContext(_ctx, getState());
4042 enterRule(_localctx, 62, RULE_sequenceName);
4043 try {
4044 enterOuterAlt(_localctx, 1);
4045 {
4046 setState(1187);
4047 _errHandler.sync(this);
4048 switch ( getInterpreter().adaptivePredict(_input,25,_ctx) ) {
4049 case 1:
4050 {
4051 setState(1184);
4052 schemaName();
4053 setState(1185);
4054 match(DOT_);
4055 }
4056 break;
4057 }
4058 setState(1189);
4059 name();
4060 }
4061 }
4062 catch (RecognitionException re) {
4063 _localctx.exception = re;
4064 _errHandler.reportError(this, re);
4065 _errHandler.recover(this, re);
4066 }
4067 finally {
4068 exitRule();
4069 }
4070 return _localctx;
4071 }
4072
4073 public static class TableNameContext extends ParserRuleContext {
4074 public NameContext name() {
4075 return getRuleContext(NameContext.class,0);
4076 }
4077 public DatabaseNameContext databaseName() {
4078 return getRuleContext(DatabaseNameContext.class,0);
4079 }
4080 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
4081 public TerminalNode DOT_(int i) {
4082 return getToken(SQLServerStatementParser.DOT_, i);
4083 }
4084 public OwnerContext owner() {
4085 return getRuleContext(OwnerContext.class,0);
4086 }
4087 public TableNameContext(ParserRuleContext parent, int invokingState) {
4088 super(parent, invokingState);
4089 }
4090 @Override public int getRuleIndex() { return RULE_tableName; }
4091 @Override
4092 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4093 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableName(this);
4094 else return visitor.visitChildren(this);
4095 }
4096 }
4097
4098 public final TableNameContext tableName() throws RecognitionException {
4099 TableNameContext _localctx = new TableNameContext(_ctx, getState());
4100 enterRule(_localctx, 64, RULE_tableName);
4101 try {
4102 enterOuterAlt(_localctx, 1);
4103 {
4104 setState(1203);
4105 _errHandler.sync(this);
4106 switch ( getInterpreter().adaptivePredict(_input,28,_ctx) ) {
4107 case 1:
4108 {
4109 setState(1191);
4110 databaseName();
4111 setState(1192);
4112 match(DOT_);
4113 setState(1196);
4114 _errHandler.sync(this);
4115 switch ( getInterpreter().adaptivePredict(_input,26,_ctx) ) {
4116 case 1:
4117 {
4118 setState(1193);
4119 owner();
4120 setState(1194);
4121 match(DOT_);
4122 }
4123 break;
4124 }
4125 }
4126 break;
4127 case 2:
4128 {
4129 setState(1201);
4130 _errHandler.sync(this);
4131 switch ( getInterpreter().adaptivePredict(_input,27,_ctx) ) {
4132 case 1:
4133 {
4134 setState(1198);
4135 owner();
4136 setState(1199);
4137 match(DOT_);
4138 }
4139 break;
4140 }
4141 }
4142 break;
4143 }
4144 setState(1205);
4145 name();
4146 }
4147 }
4148 catch (RecognitionException re) {
4149 _localctx.exception = re;
4150 _errHandler.reportError(this, re);
4151 _errHandler.recover(this, re);
4152 }
4153 finally {
4154 exitRule();
4155 }
4156 return _localctx;
4157 }
4158
4159 public static class QueueNameContext extends ParserRuleContext {
4160 public NameContext name() {
4161 return getRuleContext(NameContext.class,0);
4162 }
4163 public SchemaNameContext schemaName() {
4164 return getRuleContext(SchemaNameContext.class,0);
4165 }
4166 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4167 public QueueNameContext(ParserRuleContext parent, int invokingState) {
4168 super(parent, invokingState);
4169 }
4170 @Override public int getRuleIndex() { return RULE_queueName; }
4171 @Override
4172 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4173 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueueName(this);
4174 else return visitor.visitChildren(this);
4175 }
4176 }
4177
4178 public final QueueNameContext queueName() throws RecognitionException {
4179 QueueNameContext _localctx = new QueueNameContext(_ctx, getState());
4180 enterRule(_localctx, 66, RULE_queueName);
4181 try {
4182 enterOuterAlt(_localctx, 1);
4183 {
4184 setState(1210);
4185 _errHandler.sync(this);
4186 switch ( getInterpreter().adaptivePredict(_input,29,_ctx) ) {
4187 case 1:
4188 {
4189 setState(1207);
4190 schemaName();
4191 setState(1208);
4192 match(DOT_);
4193 }
4194 break;
4195 }
4196 setState(1212);
4197 name();
4198 }
4199 }
4200 catch (RecognitionException re) {
4201 _localctx.exception = re;
4202 _errHandler.reportError(this, re);
4203 _errHandler.recover(this, re);
4204 }
4205 finally {
4206 exitRule();
4207 }
4208 return _localctx;
4209 }
4210
4211 public static class ContractNameContext extends ParserRuleContext {
4212 public NameContext name() {
4213 return getRuleContext(NameContext.class,0);
4214 }
4215 public ContractNameContext(ParserRuleContext parent, int invokingState) {
4216 super(parent, invokingState);
4217 }
4218 @Override public int getRuleIndex() { return RULE_contractName; }
4219 @Override
4220 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4221 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitContractName(this);
4222 else return visitor.visitChildren(this);
4223 }
4224 }
4225
4226 public final ContractNameContext contractName() throws RecognitionException {
4227 ContractNameContext _localctx = new ContractNameContext(_ctx, getState());
4228 enterRule(_localctx, 68, RULE_contractName);
4229 try {
4230 enterOuterAlt(_localctx, 1);
4231 {
4232 setState(1214);
4233 name();
4234 }
4235 }
4236 catch (RecognitionException re) {
4237 _localctx.exception = re;
4238 _errHandler.reportError(this, re);
4239 _errHandler.recover(this, re);
4240 }
4241 finally {
4242 exitRule();
4243 }
4244 return _localctx;
4245 }
4246
4247 public static class ServiceNameContext extends ParserRuleContext {
4248 public NameContext name() {
4249 return getRuleContext(NameContext.class,0);
4250 }
4251 public ServiceNameContext(ParserRuleContext parent, int invokingState) {
4252 super(parent, invokingState);
4253 }
4254 @Override public int getRuleIndex() { return RULE_serviceName; }
4255 @Override
4256 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4257 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceName(this);
4258 else return visitor.visitChildren(this);
4259 }
4260 }
4261
4262 public final ServiceNameContext serviceName() throws RecognitionException {
4263 ServiceNameContext _localctx = new ServiceNameContext(_ctx, getState());
4264 enterRule(_localctx, 70, RULE_serviceName);
4265 try {
4266 enterOuterAlt(_localctx, 1);
4267 {
4268 setState(1216);
4269 name();
4270 }
4271 }
4272 catch (RecognitionException re) {
4273 _localctx.exception = re;
4274 _errHandler.reportError(this, re);
4275 _errHandler.recover(this, re);
4276 }
4277 finally {
4278 exitRule();
4279 }
4280 return _localctx;
4281 }
4282
4283 public static class ColumnNameContext extends ParserRuleContext {
4284 public NameContext name() {
4285 return getRuleContext(NameContext.class,0);
4286 }
4287 public ScriptVariableNameContext scriptVariableName() {
4288 return getRuleContext(ScriptVariableNameContext.class,0);
4289 }
4290 public OwnerContext owner() {
4291 return getRuleContext(OwnerContext.class,0);
4292 }
4293 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
4294 public ColumnNameContext(ParserRuleContext parent, int invokingState) {
4295 super(parent, invokingState);
4296 }
4297 @Override public int getRuleIndex() { return RULE_columnName; }
4298 @Override
4299 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4300 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnName(this);
4301 else return visitor.visitChildren(this);
4302 }
4303 }
4304
4305 public final ColumnNameContext columnName() throws RecognitionException {
4306 ColumnNameContext _localctx = new ColumnNameContext(_ctx, getState());
4307 enterRule(_localctx, 72, RULE_columnName);
4308 try {
4309 enterOuterAlt(_localctx, 1);
4310 {
4311 setState(1221);
4312 _errHandler.sync(this);
4313 switch ( getInterpreter().adaptivePredict(_input,30,_ctx) ) {
4314 case 1:
4315 {
4316 setState(1218);
4317 owner();
4318 setState(1219);
4319 match(DOT_);
4320 }
4321 break;
4322 }
4323 setState(1225);
4324 _errHandler.sync(this);
4325 switch (_input.LA(1)) {
4326 case TRUNCATE:
4327 case SCHEMA:
4328 case FUNCTION:
4329 case TRIGGER:
4330 case CAST:
4331 case GROUP:
4332 case LIMIT:
4333 case OFFSET:
4334 case SAVEPOINT:
4335 case BOOLEAN:
4336 case ARRAY:
4337 case DATE:
4338 case LOCALTIME:
4339 case LOCALTIMESTAMP:
4340 case QUARTER:
4341 case WEEK:
4342 case DAY:
4343 case MICROSECOND:
4344 case MAX:
4345 case MIN:
4346 case SUM:
4347 case COUNT:
4348 case AVG:
4349 case ENABLE:
4350 case DISABLE:
4351 case INSTANCE:
4352 case DO:
4353 case DEFINER:
4354 case SQL:
4355 case CASCADED:
4356 case LOCAL:
4357 case NEXT:
4358 case NAME:
4359 case INTEGER:
4360 case TYPE:
4361 case READ_ONLY:
4362 case DATABASE:
4363 case DATEPART:
4364 case PASSWORD:
4365 case BINARY:
4366 case HIDDEN_:
4367 case MOD:
4368 case PARTITION:
4369 case PARTITIONS:
4370 case TOP:
4371 case ROW:
4372 case ROWS:
4373 case XOR:
4374 case ALWAYS:
4375 case ROLE:
4376 case START:
4377 case ALGORITHM:
4378 case AUTO:
4379 case BLOCKERS:
4380 case CLUSTERED:
4381 case NONCLUSTERED:
4382 case COLUMNSTORE:
4383 case CONTENT:
4384 case YEARS:
4385 case MONTHS:
4386 case WEEKS:
4387 case DAYS:
4388 case MINUTES:
4389 case DENY:
4390 case DETERMINISTIC:
4391 case DISTRIBUTION:
4392 case DOCUMENT:
4393 case DURABILITY:
4394 case ENCRYPTED:
4395 case FILESTREAM:
4396 case FILETABLE:
4397 case FILLFACTOR:
4398 case FOLLOWING:
4399 case HASH:
4400 case HEAP:
4401 case INBOUND:
4402 case OUTBOUND:
4403 case UNBOUNDED:
4404 case INFINITE:
4405 case LOGIN:
4406 case MASKED:
4407 case MAXDOP:
4408 case MOVE:
4409 case NOCHECK:
4410 case OBJECT:
4411 case OFF:
4412 case ONLINE:
4413 case OVER:
4414 case PAGE:
4415 case PAUSED:
4416 case PERIOD:
4417 case PERSISTED:
4418 case PRECEDING:
4419 case RANDOMIZED:
4420 case RANGE:
4421 case REBUILD:
4422 case REPLICATE:
4423 case REPLICATION:
4424 case RESUMABLE:
4425 case ROWGUIDCOL:
4426 case SAVE:
4427 case SELF:
4428 case SPARSE:
4429 case SWITCH:
4430 case TRAN:
4431 case TRANCOUNT:
4432 case CONTROL:
4433 case CONCAT:
4434 case TAKE:
4435 case OWNERSHIP:
4436 case DEFINITION:
4437 case APPLICATION:
4438 case ASSEMBLY:
4439 case SYMMETRIC:
4440 case ASYMMETRIC:
4441 case SERVER:
4442 case RECEIVE:
4443 case CHANGE:
4444 case TRACE:
4445 case TRACKING:
4446 case RESOURCES:
4447 case SETTINGS:
4448 case STATE:
4449 case AVAILABILITY:
4450 case CREDENTIAL:
4451 case ENDPOINT:
4452 case EVENT:
4453 case NOTIFICATION:
4454 case LINKED:
4455 case AUDIT:
4456 case DDL:
4457 case XML:
4458 case IMPERSONATE:
4459 case SECURABLES:
4460 case AUTHENTICATE:
4461 case EXTERNAL:
4462 case ACCESS:
4463 case ADMINISTER:
4464 case BULK:
4465 case OPERATIONS:
4466 case UNSAFE:
4467 case SHUTDOWN:
4468 case SCOPED:
4469 case CONFIGURATION:
4470 case DATASPACE:
4471 case SERVICE:
4472 case CERTIFICATE:
4473 case CONTRACT:
4474 case ENCRYPTION:
4475 case MASTER:
4476 case DATA:
4477 case SOURCE:
4478 case FILE:
4479 case FORMAT:
4480 case LIBRARY:
4481 case FULLTEXT:
4482 case MASK:
4483 case UNMASK:
4484 case MESSAGE:
4485 case REMOTE:
4486 case BINDING:
4487 case ROUTE:
4488 case SECURITY:
4489 case POLICY:
4490 case AGGREGATE:
4491 case QUEUE:
4492 case RULE:
4493 case SYNONYM:
4494 case COLLECTION:
4495 case SCRIPT:
4496 case KILL:
4497 case BACKUP:
4498 case LOG:
4499 case SHOWPLAN:
4500 case SUBSCRIBE:
4501 case QUERY:
4502 case NOTIFICATIONS:
4503 case CHECKPOINT:
4504 case SEQUENCE:
4505 case ABORT_AFTER_WAIT:
4506 case ALLOW_PAGE_LOCKS:
4507 case ALLOW_ROW_LOCKS:
4508 case ALL_SPARSE_COLUMNS:
4509 case BUCKET_COUNT:
4510 case COLUMNSTORE_ARCHIVE:
4511 case COLUMN_ENCRYPTION_KEY:
4512 case COLUMN_SET:
4513 case COMPRESSION_DELAY:
4514 case DATABASE_DEAULT:
4515 case DATA_COMPRESSION:
4516 case DATA_CONSISTENCY_CHECK:
4517 case ENCRYPTION_TYPE:
4518 case SYSTEM_TIME:
4519 case SYSTEM_VERSIONING:
4520 case TEXTIMAGE_ON:
4521 case WAIT_AT_LOW_PRIORITY:
4522 case STATISTICS_INCREMENTAL:
4523 case STATISTICS_NORECOMPUTE:
4524 case ROUND_ROBIN:
4525 case SCHEMA_AND_DATA:
4526 case SCHEMA_ONLY:
4527 case SORT_IN_TEMPDB:
4528 case IGNORE_DUP_KEY:
4529 case IMPLICIT_TRANSACTIONS:
4530 case MAX_DURATION:
4531 case MEMORY_OPTIMIZED:
4532 case MIGRATION_STATE:
4533 case PAD_INDEX:
4534 case REMOTE_DATA_ARCHIVE:
4535 case FILESTREAM_ON:
4536 case FILETABLE_COLLATE_FILENAME:
4537 case FILETABLE_DIRECTORY:
4538 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
4539 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
4540 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
4541 case FILTER_PREDICATE:
4542 case HISTORY_RETENTION_PERIOD:
4543 case HISTORY_TABLE:
4544 case LOCK_ESCALATION:
4545 case DROP_EXISTING:
4546 case ROW_NUMBER:
4547 case FIRST:
4548 case DATETIME2:
4549 case OUTPUT:
4550 case INSERTED:
4551 case DELETED:
4552 case FILENAME:
4553 case MAXSIZE:
4554 case FILEGROWTH:
4555 case UNLIMITED:
4556 case KB:
4557 case MB:
4558 case GB:
4559 case TB:
4560 case MEMORY_OPTIMIZED_DATA:
4561 case FILEGROUP:
4562 case NON_TRANSACTED_ACCESS:
4563 case DB_CHAINING:
4564 case TRUSTWORTHY:
4565 case FORWARD_ONLY:
4566 case KEYSET:
4567 case FAST_FORWARD:
4568 case SCROLL_LOCKS:
4569 case OPTIMISTIC:
4570 case TYPE_WARNING:
4571 case SCHEMABINDING:
4572 case CALLER:
4573 case OWNER:
4574 case SNAPSHOT:
4575 case REPEATABLE:
4576 case SERIALIZABLE:
4577 case NATIVE_COMPILATION:
4578 case VIEW_METADATA:
4579 case INSTEAD:
4580 case APPEND:
4581 case INCREMENT:
4582 case CACHE:
4583 case MINVALUE:
4584 case MAXVALUE:
4585 case RESTART:
4586 case LOB_COMPACTION:
4587 case COMPRESS_ALL_ROW_GROUPS:
4588 case REORGANIZE:
4589 case RESUME:
4590 case PAUSE:
4591 case ABORT:
4592 case ACCELERATED_DATABASE_RECOVERY:
4593 case PERSISTENT_VERSION_STORE_FILEGROUP:
4594 case IMMEDIATE:
4595 case NO_WAIT:
4596 case TARGET_RECOVERY_TIME:
4597 case SECONDS:
4598 case HONOR_BROKER_PRIORITY:
4599 case ERROR_BROKER_CONVERSATIONS:
4600 case NEW_BROKER:
4601 case DISABLE_BROKER:
4602 case ENABLE_BROKER:
4603 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
4604 case READ_COMMITTED_SNAPSHOT:
4605 case ALLOW_SNAPSHOT_ISOLATION:
4606 case RECURSIVE_TRIGGERS:
4607 case QUOTED_IDENTIFIER:
4608 case NUMERIC_ROUNDABORT:
4609 case CONCAT_NULL_YIELDS_NULL:
4610 case COMPATIBILITY_LEVEL:
4611 case ARITHABORT:
4612 case ANSI_WARNINGS:
4613 case ANSI_PADDING:
4614 case ANSI_NULLS:
4615 case ANSI_NULL_DEFAULT:
4616 case PAGE_VERIFY:
4617 case CHECKSUM:
4618 case TORN_PAGE_DETECTION:
4619 case BULK_LOGGED:
4620 case RECOVERY:
4621 case TOTAL_EXECUTION_CPU_TIME_MS:
4622 case TOTAL_COMPILE_CPU_TIME_MS:
4623 case STALE_CAPTURE_POLICY_THRESHOLD:
4624 case EXECUTION_COUNT:
4625 case QUERY_CAPTURE_POLICY:
4626 case WAIT_STATS_CAPTURE_MODE:
4627 case MAX_PLANS_PER_QUERY:
4628 case QUERY_CAPTURE_MODE:
4629 case SIZE_BASED_CLEANUP_MODE:
4630 case INTERVAL_LENGTH_MINUTES:
4631 case MAX_STORAGE_SIZE_MB:
4632 case DATA_FLUSH_INTERVAL_SECONDS:
4633 case CLEANUP_POLICY:
4634 case CUSTOM:
4635 case STALE_QUERY_THRESHOLD_DAYS:
4636 case OPERATION_MODE:
4637 case QUERY_STORE:
4638 case CURSOR_DEFAULT:
4639 case GLOBAL:
4640 case CURSOR_CLOSE_ON_COMMIT:
4641 case HOURS:
4642 case CHANGE_RETENTION:
4643 case AUTO_CLEANUP:
4644 case CHANGE_TRACKING:
4645 case AUTOMATIC_TUNING:
4646 case FORCE_LAST_GOOD_PLAN:
4647 case AUTO_UPDATE_STATISTICS_ASYNC:
4648 case AUTO_UPDATE_STATISTICS:
4649 case AUTO_SHRINK:
4650 case AUTO_CREATE_STATISTICS:
4651 case INCREMENTAL:
4652 case AUTO_CLOSE:
4653 case DATA_RETENTION:
4654 case TEMPORAL_HISTORY_RETENTION:
4655 case EDITION:
4656 case MIXED_PAGE_ALLOCATION:
4657 case DISABLED:
4658 case ALLOWED:
4659 case HADR:
4660 case MULTI_USER:
4661 case RESTRICTED_USER:
4662 case SINGLE_USER:
4663 case OFFLINE:
4664 case EMERGENCY:
4665 case SUSPEND:
4666 case DATE_CORRELATION_OPTIMIZATION:
4667 case ELASTIC_POOL:
4668 case SERVICE_OBJECTIVE:
4669 case DATABASE_NAME:
4670 case ALLOW_CONNECTIONS:
4671 case GEO:
4672 case NAMED:
4673 case DATEFIRST:
4674 case BACKUP_STORAGE_REDUNDANCY:
4675 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
4676 case SECONDARY:
4677 case FAILOVER:
4678 case DEFAULT_FULLTEXT_LANGUAGE:
4679 case DEFAULT_LANGUAGE:
4680 case INLINE:
4681 case NESTED_TRIGGERS:
4682 case TRANSFORM_NOISE_WORDS:
4683 case TWO_DIGIT_YEAR_CUTOFF:
4684 case PERSISTENT_LOG_BUFFER:
4685 case DIRECTORY_NAME:
4686 case DATEFORMAT:
4687 case DELAYED_DURABILITY:
4688 case AUTHORIZATION:
4689 case TRANSFER:
4690 case SEARCH:
4691 case MEMBER:
4692 case IDENTIFIER_:
4693 case DELIMITED_IDENTIFIER_:
4694 {
4695 setState(1223);
4696 name();
4697 }
4698 break;
4699 case DOLLAR_:
4700 {
4701 setState(1224);
4702 scriptVariableName();
4703 }
4704 break;
4705 default:
4706 throw new NoViableAltException(this);
4707 }
4708 }
4709 }
4710 catch (RecognitionException re) {
4711 _localctx.exception = re;
4712 _errHandler.reportError(this, re);
4713 _errHandler.recover(this, re);
4714 }
4715 finally {
4716 exitRule();
4717 }
4718 return _localctx;
4719 }
4720
4721 public static class ScriptVariableNameContext extends ParserRuleContext {
4722 public TerminalNode DOLLAR_() { return getToken(SQLServerStatementParser.DOLLAR_, 0); }
4723 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4724 public NameContext name() {
4725 return getRuleContext(NameContext.class,0);
4726 }
4727 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4728 public ScriptVariableNameContext(ParserRuleContext parent, int invokingState) {
4729 super(parent, invokingState);
4730 }
4731 @Override public int getRuleIndex() { return RULE_scriptVariableName; }
4732 @Override
4733 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4734 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitScriptVariableName(this);
4735 else return visitor.visitChildren(this);
4736 }
4737 }
4738
4739 public final ScriptVariableNameContext scriptVariableName() throws RecognitionException {
4740 ScriptVariableNameContext _localctx = new ScriptVariableNameContext(_ctx, getState());
4741 enterRule(_localctx, 74, RULE_scriptVariableName);
4742 try {
4743 enterOuterAlt(_localctx, 1);
4744 {
4745 setState(1227);
4746 match(DOLLAR_);
4747 setState(1228);
4748 match(LP_);
4749 setState(1229);
4750 name();
4751 setState(1230);
4752 match(RP_);
4753 }
4754 }
4755 catch (RecognitionException re) {
4756 _localctx.exception = re;
4757 _errHandler.reportError(this, re);
4758 _errHandler.recover(this, re);
4759 }
4760 finally {
4761 exitRule();
4762 }
4763 return _localctx;
4764 }
4765
4766 public static class OwnerContext extends ParserRuleContext {
4767 public IdentifierContext identifier() {
4768 return getRuleContext(IdentifierContext.class,0);
4769 }
4770 public OwnerContext(ParserRuleContext parent, int invokingState) {
4771 super(parent, invokingState);
4772 }
4773 @Override public int getRuleIndex() { return RULE_owner; }
4774 @Override
4775 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4776 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOwner(this);
4777 else return visitor.visitChildren(this);
4778 }
4779 }
4780
4781 public final OwnerContext owner() throws RecognitionException {
4782 OwnerContext _localctx = new OwnerContext(_ctx, getState());
4783 enterRule(_localctx, 76, RULE_owner);
4784 try {
4785 enterOuterAlt(_localctx, 1);
4786 {
4787 setState(1232);
4788 identifier();
4789 }
4790 }
4791 catch (RecognitionException re) {
4792 _localctx.exception = re;
4793 _errHandler.reportError(this, re);
4794 _errHandler.recover(this, re);
4795 }
4796 finally {
4797 exitRule();
4798 }
4799 return _localctx;
4800 }
4801
4802 public static class NameContext extends ParserRuleContext {
4803 public IdentifierContext identifier() {
4804 return getRuleContext(IdentifierContext.class,0);
4805 }
4806 public NameContext(ParserRuleContext parent, int invokingState) {
4807 super(parent, invokingState);
4808 }
4809 @Override public int getRuleIndex() { return RULE_name; }
4810 @Override
4811 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4812 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitName(this);
4813 else return visitor.visitChildren(this);
4814 }
4815 }
4816
4817 public final NameContext name() throws RecognitionException {
4818 NameContext _localctx = new NameContext(_ctx, getState());
4819 enterRule(_localctx, 78, RULE_name);
4820 try {
4821 enterOuterAlt(_localctx, 1);
4822 {
4823 setState(1234);
4824 identifier();
4825 }
4826 }
4827 catch (RecognitionException re) {
4828 _localctx.exception = re;
4829 _errHandler.reportError(this, re);
4830 _errHandler.recover(this, re);
4831 }
4832 finally {
4833 exitRule();
4834 }
4835 return _localctx;
4836 }
4837
4838 public static class ColumnNamesContext extends ParserRuleContext {
4839 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4840 public List<ColumnNameContext> columnName() {
4841 return getRuleContexts(ColumnNameContext.class);
4842 }
4843 public ColumnNameContext columnName(int i) {
4844 return getRuleContext(ColumnNameContext.class,i);
4845 }
4846 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4847 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
4848 public TerminalNode COMMA_(int i) {
4849 return getToken(SQLServerStatementParser.COMMA_, i);
4850 }
4851 public ColumnNamesContext(ParserRuleContext parent, int invokingState) {
4852 super(parent, invokingState);
4853 }
4854 @Override public int getRuleIndex() { return RULE_columnNames; }
4855 @Override
4856 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4857 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNames(this);
4858 else return visitor.visitChildren(this);
4859 }
4860 }
4861
4862 public final ColumnNamesContext columnNames() throws RecognitionException {
4863 ColumnNamesContext _localctx = new ColumnNamesContext(_ctx, getState());
4864 enterRule(_localctx, 80, RULE_columnNames);
4865 int _la;
4866 try {
4867 enterOuterAlt(_localctx, 1);
4868 {
4869 setState(1236);
4870 match(LP_);
4871 setState(1237);
4872 columnName();
4873 setState(1242);
4874 _errHandler.sync(this);
4875 _la = _input.LA(1);
4876 while (_la==COMMA_) {
4877 {
4878 {
4879 setState(1238);
4880 match(COMMA_);
4881 setState(1239);
4882 columnName();
4883 }
4884 }
4885 setState(1244);
4886 _errHandler.sync(this);
4887 _la = _input.LA(1);
4888 }
4889 setState(1245);
4890 match(RP_);
4891 }
4892 }
4893 catch (RecognitionException re) {
4894 _localctx.exception = re;
4895 _errHandler.reportError(this, re);
4896 _errHandler.recover(this, re);
4897 }
4898 finally {
4899 exitRule();
4900 }
4901 return _localctx;
4902 }
4903
4904 public static class ColumnNamesWithSortContext extends ParserRuleContext {
4905 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4906 public List<ColumnNameWithSortContext> columnNameWithSort() {
4907 return getRuleContexts(ColumnNameWithSortContext.class);
4908 }
4909 public ColumnNameWithSortContext columnNameWithSort(int i) {
4910 return getRuleContext(ColumnNameWithSortContext.class,i);
4911 }
4912 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4913 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
4914 public TerminalNode COMMA_(int i) {
4915 return getToken(SQLServerStatementParser.COMMA_, i);
4916 }
4917 public ColumnNamesWithSortContext(ParserRuleContext parent, int invokingState) {
4918 super(parent, invokingState);
4919 }
4920 @Override public int getRuleIndex() { return RULE_columnNamesWithSort; }
4921 @Override
4922 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4923 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNamesWithSort(this);
4924 else return visitor.visitChildren(this);
4925 }
4926 }
4927
4928 public final ColumnNamesWithSortContext columnNamesWithSort() throws RecognitionException {
4929 ColumnNamesWithSortContext _localctx = new ColumnNamesWithSortContext(_ctx, getState());
4930 enterRule(_localctx, 82, RULE_columnNamesWithSort);
4931 int _la;
4932 try {
4933 enterOuterAlt(_localctx, 1);
4934 {
4935 setState(1247);
4936 match(LP_);
4937 setState(1248);
4938 columnNameWithSort();
4939 setState(1253);
4940 _errHandler.sync(this);
4941 _la = _input.LA(1);
4942 while (_la==COMMA_) {
4943 {
4944 {
4945 setState(1249);
4946 match(COMMA_);
4947 setState(1250);
4948 columnNameWithSort();
4949 }
4950 }
4951 setState(1255);
4952 _errHandler.sync(this);
4953 _la = _input.LA(1);
4954 }
4955 setState(1256);
4956 match(RP_);
4957 }
4958 }
4959 catch (RecognitionException re) {
4960 _localctx.exception = re;
4961 _errHandler.reportError(this, re);
4962 _errHandler.recover(this, re);
4963 }
4964 finally {
4965 exitRule();
4966 }
4967 return _localctx;
4968 }
4969
4970 public static class TableNamesContext extends ParserRuleContext {
4971 public List<TableNameContext> tableName() {
4972 return getRuleContexts(TableNameContext.class);
4973 }
4974 public TableNameContext tableName(int i) {
4975 return getRuleContext(TableNameContext.class,i);
4976 }
4977 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
4978 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
4979 public TerminalNode COMMA_(int i) {
4980 return getToken(SQLServerStatementParser.COMMA_, i);
4981 }
4982 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
4983 public TableNamesContext(ParserRuleContext parent, int invokingState) {
4984 super(parent, invokingState);
4985 }
4986 @Override public int getRuleIndex() { return RULE_tableNames; }
4987 @Override
4988 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
4989 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableNames(this);
4990 else return visitor.visitChildren(this);
4991 }
4992 }
4993
4994 public final TableNamesContext tableNames() throws RecognitionException {
4995 TableNamesContext _localctx = new TableNamesContext(_ctx, getState());
4996 enterRule(_localctx, 84, RULE_tableNames);
4997 int _la;
4998 try {
4999 enterOuterAlt(_localctx, 1);
5000 {
5001 setState(1259);
5002 _errHandler.sync(this);
5003 _la = _input.LA(1);
5004 if (_la==LP_) {
5005 {
5006 setState(1258);
5007 match(LP_);
5008 }
5009 }
5010
5011 setState(1261);
5012 tableName();
5013 setState(1266);
5014 _errHandler.sync(this);
5015 _la = _input.LA(1);
5016 while (_la==COMMA_) {
5017 {
5018 {
5019 setState(1262);
5020 match(COMMA_);
5021 setState(1263);
5022 tableName();
5023 }
5024 }
5025 setState(1268);
5026 _errHandler.sync(this);
5027 _la = _input.LA(1);
5028 }
5029 setState(1270);
5030 _errHandler.sync(this);
5031 _la = _input.LA(1);
5032 if (_la==RP_) {
5033 {
5034 setState(1269);
5035 match(RP_);
5036 }
5037 }
5038
5039 }
5040 }
5041 catch (RecognitionException re) {
5042 _localctx.exception = re;
5043 _errHandler.reportError(this, re);
5044 _errHandler.recover(this, re);
5045 }
5046 finally {
5047 exitRule();
5048 }
5049 return _localctx;
5050 }
5051
5052 public static class IndexNameContext extends ParserRuleContext {
5053 public IdentifierContext identifier() {
5054 return getRuleContext(IdentifierContext.class,0);
5055 }
5056 public IndexNameContext(ParserRuleContext parent, int invokingState) {
5057 super(parent, invokingState);
5058 }
5059 @Override public int getRuleIndex() { return RULE_indexName; }
5060 @Override
5061 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5062 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexName(this);
5063 else return visitor.visitChildren(this);
5064 }
5065 }
5066
5067 public final IndexNameContext indexName() throws RecognitionException {
5068 IndexNameContext _localctx = new IndexNameContext(_ctx, getState());
5069 enterRule(_localctx, 86, RULE_indexName);
5070 try {
5071 enterOuterAlt(_localctx, 1);
5072 {
5073 setState(1272);
5074 identifier();
5075 }
5076 }
5077 catch (RecognitionException re) {
5078 _localctx.exception = re;
5079 _errHandler.reportError(this, re);
5080 _errHandler.recover(this, re);
5081 }
5082 finally {
5083 exitRule();
5084 }
5085 return _localctx;
5086 }
5087
5088 public static class ConstraintNameContext extends ParserRuleContext {
5089 public IdentifierContext identifier() {
5090 return getRuleContext(IdentifierContext.class,0);
5091 }
5092 public ConstraintNameContext(ParserRuleContext parent, int invokingState) {
5093 super(parent, invokingState);
5094 }
5095 @Override public int getRuleIndex() { return RULE_constraintName; }
5096 @Override
5097 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5098 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConstraintName(this);
5099 else return visitor.visitChildren(this);
5100 }
5101 }
5102
5103 public final ConstraintNameContext constraintName() throws RecognitionException {
5104 ConstraintNameContext _localctx = new ConstraintNameContext(_ctx, getState());
5105 enterRule(_localctx, 88, RULE_constraintName);
5106 try {
5107 enterOuterAlt(_localctx, 1);
5108 {
5109 setState(1274);
5110 identifier();
5111 }
5112 }
5113 catch (RecognitionException re) {
5114 _localctx.exception = re;
5115 _errHandler.reportError(this, re);
5116 _errHandler.recover(this, re);
5117 }
5118 finally {
5119 exitRule();
5120 }
5121 return _localctx;
5122 }
5123
5124 public static class CollationNameContext extends ParserRuleContext {
5125 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
5126 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
5127 public CollationNameContext(ParserRuleContext parent, int invokingState) {
5128 super(parent, invokingState);
5129 }
5130 @Override public int getRuleIndex() { return RULE_collationName; }
5131 @Override
5132 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5133 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCollationName(this);
5134 else return visitor.visitChildren(this);
5135 }
5136 }
5137
5138 public final CollationNameContext collationName() throws RecognitionException {
5139 CollationNameContext _localctx = new CollationNameContext(_ctx, getState());
5140 enterRule(_localctx, 90, RULE_collationName);
5141 int _la;
5142 try {
5143 enterOuterAlt(_localctx, 1);
5144 {
5145 setState(1276);
5146 _la = _input.LA(1);
5147 if ( !(_la==IDENTIFIER_ || _la==STRING_) ) {
5148 _errHandler.recoverInline(this);
5149 }
5150 else {
5151 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5152 _errHandler.reportMatch(this);
5153 consume();
5154 }
5155 }
5156 }
5157 catch (RecognitionException re) {
5158 _localctx.exception = re;
5159 _errHandler.reportError(this, re);
5160 _errHandler.recover(this, re);
5161 }
5162 finally {
5163 exitRule();
5164 }
5165 return _localctx;
5166 }
5167
5168 public static class AliasContext extends ParserRuleContext {
5169 public IdentifierContext identifier() {
5170 return getRuleContext(IdentifierContext.class,0);
5171 }
5172 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
5173 public AliasContext(ParserRuleContext parent, int invokingState) {
5174 super(parent, invokingState);
5175 }
5176 @Override public int getRuleIndex() { return RULE_alias; }
5177 @Override
5178 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5179 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlias(this);
5180 else return visitor.visitChildren(this);
5181 }
5182 }
5183
5184 public final AliasContext alias() throws RecognitionException {
5185 AliasContext _localctx = new AliasContext(_ctx, getState());
5186 enterRule(_localctx, 92, RULE_alias);
5187 try {
5188 setState(1280);
5189 _errHandler.sync(this);
5190 switch (_input.LA(1)) {
5191 case TRUNCATE:
5192 case SCHEMA:
5193 case FUNCTION:
5194 case TRIGGER:
5195 case CAST:
5196 case GROUP:
5197 case LIMIT:
5198 case OFFSET:
5199 case SAVEPOINT:
5200 case BOOLEAN:
5201 case ARRAY:
5202 case DATE:
5203 case LOCALTIME:
5204 case LOCALTIMESTAMP:
5205 case QUARTER:
5206 case WEEK:
5207 case DAY:
5208 case MICROSECOND:
5209 case MAX:
5210 case MIN:
5211 case SUM:
5212 case COUNT:
5213 case AVG:
5214 case ENABLE:
5215 case DISABLE:
5216 case INSTANCE:
5217 case DO:
5218 case DEFINER:
5219 case SQL:
5220 case CASCADED:
5221 case LOCAL:
5222 case NEXT:
5223 case NAME:
5224 case INTEGER:
5225 case TYPE:
5226 case READ_ONLY:
5227 case DATABASE:
5228 case DATEPART:
5229 case PASSWORD:
5230 case BINARY:
5231 case HIDDEN_:
5232 case MOD:
5233 case PARTITION:
5234 case PARTITIONS:
5235 case TOP:
5236 case ROW:
5237 case ROWS:
5238 case XOR:
5239 case ALWAYS:
5240 case ROLE:
5241 case START:
5242 case ALGORITHM:
5243 case AUTO:
5244 case BLOCKERS:
5245 case CLUSTERED:
5246 case NONCLUSTERED:
5247 case COLUMNSTORE:
5248 case CONTENT:
5249 case YEARS:
5250 case MONTHS:
5251 case WEEKS:
5252 case DAYS:
5253 case MINUTES:
5254 case DENY:
5255 case DETERMINISTIC:
5256 case DISTRIBUTION:
5257 case DOCUMENT:
5258 case DURABILITY:
5259 case ENCRYPTED:
5260 case FILESTREAM:
5261 case FILETABLE:
5262 case FILLFACTOR:
5263 case FOLLOWING:
5264 case HASH:
5265 case HEAP:
5266 case INBOUND:
5267 case OUTBOUND:
5268 case UNBOUNDED:
5269 case INFINITE:
5270 case LOGIN:
5271 case MASKED:
5272 case MAXDOP:
5273 case MOVE:
5274 case NOCHECK:
5275 case OBJECT:
5276 case OFF:
5277 case ONLINE:
5278 case OVER:
5279 case PAGE:
5280 case PAUSED:
5281 case PERIOD:
5282 case PERSISTED:
5283 case PRECEDING:
5284 case RANDOMIZED:
5285 case RANGE:
5286 case REBUILD:
5287 case REPLICATE:
5288 case REPLICATION:
5289 case RESUMABLE:
5290 case ROWGUIDCOL:
5291 case SAVE:
5292 case SELF:
5293 case SPARSE:
5294 case SWITCH:
5295 case TRAN:
5296 case TRANCOUNT:
5297 case CONTROL:
5298 case CONCAT:
5299 case TAKE:
5300 case OWNERSHIP:
5301 case DEFINITION:
5302 case APPLICATION:
5303 case ASSEMBLY:
5304 case SYMMETRIC:
5305 case ASYMMETRIC:
5306 case SERVER:
5307 case RECEIVE:
5308 case CHANGE:
5309 case TRACE:
5310 case TRACKING:
5311 case RESOURCES:
5312 case SETTINGS:
5313 case STATE:
5314 case AVAILABILITY:
5315 case CREDENTIAL:
5316 case ENDPOINT:
5317 case EVENT:
5318 case NOTIFICATION:
5319 case LINKED:
5320 case AUDIT:
5321 case DDL:
5322 case XML:
5323 case IMPERSONATE:
5324 case SECURABLES:
5325 case AUTHENTICATE:
5326 case EXTERNAL:
5327 case ACCESS:
5328 case ADMINISTER:
5329 case BULK:
5330 case OPERATIONS:
5331 case UNSAFE:
5332 case SHUTDOWN:
5333 case SCOPED:
5334 case CONFIGURATION:
5335 case DATASPACE:
5336 case SERVICE:
5337 case CERTIFICATE:
5338 case CONTRACT:
5339 case ENCRYPTION:
5340 case MASTER:
5341 case DATA:
5342 case SOURCE:
5343 case FILE:
5344 case FORMAT:
5345 case LIBRARY:
5346 case FULLTEXT:
5347 case MASK:
5348 case UNMASK:
5349 case MESSAGE:
5350 case REMOTE:
5351 case BINDING:
5352 case ROUTE:
5353 case SECURITY:
5354 case POLICY:
5355 case AGGREGATE:
5356 case QUEUE:
5357 case RULE:
5358 case SYNONYM:
5359 case COLLECTION:
5360 case SCRIPT:
5361 case KILL:
5362 case BACKUP:
5363 case LOG:
5364 case SHOWPLAN:
5365 case SUBSCRIBE:
5366 case QUERY:
5367 case NOTIFICATIONS:
5368 case CHECKPOINT:
5369 case SEQUENCE:
5370 case ABORT_AFTER_WAIT:
5371 case ALLOW_PAGE_LOCKS:
5372 case ALLOW_ROW_LOCKS:
5373 case ALL_SPARSE_COLUMNS:
5374 case BUCKET_COUNT:
5375 case COLUMNSTORE_ARCHIVE:
5376 case COLUMN_ENCRYPTION_KEY:
5377 case COLUMN_SET:
5378 case COMPRESSION_DELAY:
5379 case DATABASE_DEAULT:
5380 case DATA_COMPRESSION:
5381 case DATA_CONSISTENCY_CHECK:
5382 case ENCRYPTION_TYPE:
5383 case SYSTEM_TIME:
5384 case SYSTEM_VERSIONING:
5385 case TEXTIMAGE_ON:
5386 case WAIT_AT_LOW_PRIORITY:
5387 case STATISTICS_INCREMENTAL:
5388 case STATISTICS_NORECOMPUTE:
5389 case ROUND_ROBIN:
5390 case SCHEMA_AND_DATA:
5391 case SCHEMA_ONLY:
5392 case SORT_IN_TEMPDB:
5393 case IGNORE_DUP_KEY:
5394 case IMPLICIT_TRANSACTIONS:
5395 case MAX_DURATION:
5396 case MEMORY_OPTIMIZED:
5397 case MIGRATION_STATE:
5398 case PAD_INDEX:
5399 case REMOTE_DATA_ARCHIVE:
5400 case FILESTREAM_ON:
5401 case FILETABLE_COLLATE_FILENAME:
5402 case FILETABLE_DIRECTORY:
5403 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
5404 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
5405 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
5406 case FILTER_PREDICATE:
5407 case HISTORY_RETENTION_PERIOD:
5408 case HISTORY_TABLE:
5409 case LOCK_ESCALATION:
5410 case DROP_EXISTING:
5411 case ROW_NUMBER:
5412 case FIRST:
5413 case DATETIME2:
5414 case OUTPUT:
5415 case INSERTED:
5416 case DELETED:
5417 case FILENAME:
5418 case MAXSIZE:
5419 case FILEGROWTH:
5420 case UNLIMITED:
5421 case KB:
5422 case MB:
5423 case GB:
5424 case TB:
5425 case MEMORY_OPTIMIZED_DATA:
5426 case FILEGROUP:
5427 case NON_TRANSACTED_ACCESS:
5428 case DB_CHAINING:
5429 case TRUSTWORTHY:
5430 case FORWARD_ONLY:
5431 case KEYSET:
5432 case FAST_FORWARD:
5433 case SCROLL_LOCKS:
5434 case OPTIMISTIC:
5435 case TYPE_WARNING:
5436 case SCHEMABINDING:
5437 case CALLER:
5438 case OWNER:
5439 case SNAPSHOT:
5440 case REPEATABLE:
5441 case SERIALIZABLE:
5442 case NATIVE_COMPILATION:
5443 case VIEW_METADATA:
5444 case INSTEAD:
5445 case APPEND:
5446 case INCREMENT:
5447 case CACHE:
5448 case MINVALUE:
5449 case MAXVALUE:
5450 case RESTART:
5451 case LOB_COMPACTION:
5452 case COMPRESS_ALL_ROW_GROUPS:
5453 case REORGANIZE:
5454 case RESUME:
5455 case PAUSE:
5456 case ABORT:
5457 case ACCELERATED_DATABASE_RECOVERY:
5458 case PERSISTENT_VERSION_STORE_FILEGROUP:
5459 case IMMEDIATE:
5460 case NO_WAIT:
5461 case TARGET_RECOVERY_TIME:
5462 case SECONDS:
5463 case HONOR_BROKER_PRIORITY:
5464 case ERROR_BROKER_CONVERSATIONS:
5465 case NEW_BROKER:
5466 case DISABLE_BROKER:
5467 case ENABLE_BROKER:
5468 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
5469 case READ_COMMITTED_SNAPSHOT:
5470 case ALLOW_SNAPSHOT_ISOLATION:
5471 case RECURSIVE_TRIGGERS:
5472 case QUOTED_IDENTIFIER:
5473 case NUMERIC_ROUNDABORT:
5474 case CONCAT_NULL_YIELDS_NULL:
5475 case COMPATIBILITY_LEVEL:
5476 case ARITHABORT:
5477 case ANSI_WARNINGS:
5478 case ANSI_PADDING:
5479 case ANSI_NULLS:
5480 case ANSI_NULL_DEFAULT:
5481 case PAGE_VERIFY:
5482 case CHECKSUM:
5483 case TORN_PAGE_DETECTION:
5484 case BULK_LOGGED:
5485 case RECOVERY:
5486 case TOTAL_EXECUTION_CPU_TIME_MS:
5487 case TOTAL_COMPILE_CPU_TIME_MS:
5488 case STALE_CAPTURE_POLICY_THRESHOLD:
5489 case EXECUTION_COUNT:
5490 case QUERY_CAPTURE_POLICY:
5491 case WAIT_STATS_CAPTURE_MODE:
5492 case MAX_PLANS_PER_QUERY:
5493 case QUERY_CAPTURE_MODE:
5494 case SIZE_BASED_CLEANUP_MODE:
5495 case INTERVAL_LENGTH_MINUTES:
5496 case MAX_STORAGE_SIZE_MB:
5497 case DATA_FLUSH_INTERVAL_SECONDS:
5498 case CLEANUP_POLICY:
5499 case CUSTOM:
5500 case STALE_QUERY_THRESHOLD_DAYS:
5501 case OPERATION_MODE:
5502 case QUERY_STORE:
5503 case CURSOR_DEFAULT:
5504 case GLOBAL:
5505 case CURSOR_CLOSE_ON_COMMIT:
5506 case HOURS:
5507 case CHANGE_RETENTION:
5508 case AUTO_CLEANUP:
5509 case CHANGE_TRACKING:
5510 case AUTOMATIC_TUNING:
5511 case FORCE_LAST_GOOD_PLAN:
5512 case AUTO_UPDATE_STATISTICS_ASYNC:
5513 case AUTO_UPDATE_STATISTICS:
5514 case AUTO_SHRINK:
5515 case AUTO_CREATE_STATISTICS:
5516 case INCREMENTAL:
5517 case AUTO_CLOSE:
5518 case DATA_RETENTION:
5519 case TEMPORAL_HISTORY_RETENTION:
5520 case EDITION:
5521 case MIXED_PAGE_ALLOCATION:
5522 case DISABLED:
5523 case ALLOWED:
5524 case HADR:
5525 case MULTI_USER:
5526 case RESTRICTED_USER:
5527 case SINGLE_USER:
5528 case OFFLINE:
5529 case EMERGENCY:
5530 case SUSPEND:
5531 case DATE_CORRELATION_OPTIMIZATION:
5532 case ELASTIC_POOL:
5533 case SERVICE_OBJECTIVE:
5534 case DATABASE_NAME:
5535 case ALLOW_CONNECTIONS:
5536 case GEO:
5537 case NAMED:
5538 case DATEFIRST:
5539 case BACKUP_STORAGE_REDUNDANCY:
5540 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
5541 case SECONDARY:
5542 case FAILOVER:
5543 case DEFAULT_FULLTEXT_LANGUAGE:
5544 case DEFAULT_LANGUAGE:
5545 case INLINE:
5546 case NESTED_TRIGGERS:
5547 case TRANSFORM_NOISE_WORDS:
5548 case TWO_DIGIT_YEAR_CUTOFF:
5549 case PERSISTENT_LOG_BUFFER:
5550 case DIRECTORY_NAME:
5551 case DATEFORMAT:
5552 case DELAYED_DURABILITY:
5553 case AUTHORIZATION:
5554 case TRANSFER:
5555 case SEARCH:
5556 case MEMBER:
5557 case IDENTIFIER_:
5558 case DELIMITED_IDENTIFIER_:
5559 enterOuterAlt(_localctx, 1);
5560 {
5561 setState(1278);
5562 identifier();
5563 }
5564 break;
5565 case STRING_:
5566 enterOuterAlt(_localctx, 2);
5567 {
5568 setState(1279);
5569 match(STRING_);
5570 }
5571 break;
5572 default:
5573 throw new NoViableAltException(this);
5574 }
5575 }
5576 catch (RecognitionException re) {
5577 _localctx.exception = re;
5578 _errHandler.reportError(this, re);
5579 _errHandler.recover(this, re);
5580 }
5581 finally {
5582 exitRule();
5583 }
5584 return _localctx;
5585 }
5586
5587 public static class DataTypeLengthContext extends ParserRuleContext {
5588 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5589 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5590 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
5591 public TerminalNode NUMBER_(int i) {
5592 return getToken(SQLServerStatementParser.NUMBER_, i);
5593 }
5594 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
5595 public DataTypeLengthContext(ParserRuleContext parent, int invokingState) {
5596 super(parent, invokingState);
5597 }
5598 @Override public int getRuleIndex() { return RULE_dataTypeLength; }
5599 @Override
5600 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5601 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataTypeLength(this);
5602 else return visitor.visitChildren(this);
5603 }
5604 }
5605
5606 public final DataTypeLengthContext dataTypeLength() throws RecognitionException {
5607 DataTypeLengthContext _localctx = new DataTypeLengthContext(_ctx, getState());
5608 enterRule(_localctx, 94, RULE_dataTypeLength);
5609 int _la;
5610 try {
5611 enterOuterAlt(_localctx, 1);
5612 {
5613 setState(1282);
5614 match(LP_);
5615 setState(1288);
5616 _errHandler.sync(this);
5617 _la = _input.LA(1);
5618 if (_la==NUMBER_) {
5619 {
5620 setState(1283);
5621 match(NUMBER_);
5622 setState(1286);
5623 _errHandler.sync(this);
5624 _la = _input.LA(1);
5625 if (_la==COMMA_) {
5626 {
5627 setState(1284);
5628 match(COMMA_);
5629 setState(1285);
5630 match(NUMBER_);
5631 }
5632 }
5633
5634 }
5635 }
5636
5637 setState(1290);
5638 match(RP_);
5639 }
5640 }
5641 catch (RecognitionException re) {
5642 _localctx.exception = re;
5643 _errHandler.reportError(this, re);
5644 _errHandler.recover(this, re);
5645 }
5646 finally {
5647 exitRule();
5648 }
5649 return _localctx;
5650 }
5651
5652 public static class PrimaryKeyContext extends ParserRuleContext {
5653 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
5654 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
5655 public PrimaryKeyContext(ParserRuleContext parent, int invokingState) {
5656 super(parent, invokingState);
5657 }
5658 @Override public int getRuleIndex() { return RULE_primaryKey; }
5659 @Override
5660 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5661 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKey(this);
5662 else return visitor.visitChildren(this);
5663 }
5664 }
5665
5666 public final PrimaryKeyContext primaryKey() throws RecognitionException {
5667 PrimaryKeyContext _localctx = new PrimaryKeyContext(_ctx, getState());
5668 enterRule(_localctx, 96, RULE_primaryKey);
5669 int _la;
5670 try {
5671 enterOuterAlt(_localctx, 1);
5672 {
5673 setState(1293);
5674 _errHandler.sync(this);
5675 _la = _input.LA(1);
5676 if (_la==PRIMARY) {
5677 {
5678 setState(1292);
5679 match(PRIMARY);
5680 }
5681 }
5682
5683 setState(1295);
5684 match(KEY);
5685 }
5686 }
5687 catch (RecognitionException re) {
5688 _localctx.exception = re;
5689 _errHandler.reportError(this, re);
5690 _errHandler.recover(this, re);
5691 }
5692 finally {
5693 exitRule();
5694 }
5695 return _localctx;
5696 }
5697
5698 public static class ExprContext extends ParserRuleContext {
5699 public NotOperatorContext notOperator() {
5700 return getRuleContext(NotOperatorContext.class,0);
5701 }
5702 public List<ExprContext> expr() {
5703 return getRuleContexts(ExprContext.class);
5704 }
5705 public ExprContext expr(int i) {
5706 return getRuleContext(ExprContext.class,i);
5707 }
5708 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
5709 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
5710 public BooleanPrimaryContext booleanPrimary() {
5711 return getRuleContext(BooleanPrimaryContext.class,0);
5712 }
5713 public AndOperatorContext andOperator() {
5714 return getRuleContext(AndOperatorContext.class,0);
5715 }
5716 public OrOperatorContext orOperator() {
5717 return getRuleContext(OrOperatorContext.class,0);
5718 }
5719 public ExprContext(ParserRuleContext parent, int invokingState) {
5720 super(parent, invokingState);
5721 }
5722 @Override public int getRuleIndex() { return RULE_expr; }
5723 @Override
5724 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5725 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExpr(this);
5726 else return visitor.visitChildren(this);
5727 }
5728 }
5729
5730 public final ExprContext expr() throws RecognitionException {
5731 return expr(0);
5732 }
5733
5734 private ExprContext expr(int _p) throws RecognitionException {
5735 ParserRuleContext _parentctx = _ctx;
5736 int _parentState = getState();
5737 ExprContext _localctx = new ExprContext(_ctx, _parentState);
5738 ExprContext _prevctx = _localctx;
5739 int _startState = 98;
5740 enterRecursionRule(_localctx, 98, RULE_expr, _p);
5741 try {
5742 int _alt;
5743 enterOuterAlt(_localctx, 1);
5744 {
5745 setState(1306);
5746 _errHandler.sync(this);
5747 switch ( getInterpreter().adaptivePredict(_input,41,_ctx) ) {
5748 case 1:
5749 {
5750 setState(1298);
5751 notOperator();
5752 setState(1299);
5753 expr(3);
5754 }
5755 break;
5756 case 2:
5757 {
5758 setState(1301);
5759 match(LP_);
5760 setState(1302);
5761 expr(0);
5762 setState(1303);
5763 match(RP_);
5764 }
5765 break;
5766 case 3:
5767 {
5768 setState(1305);
5769 booleanPrimary(0);
5770 }
5771 break;
5772 }
5773 _ctx.stop = _input.LT(-1);
5774 setState(1318);
5775 _errHandler.sync(this);
5776 _alt = getInterpreter().adaptivePredict(_input,43,_ctx);
5777 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
5778 if ( _alt==1 ) {
5779 if ( _parseListeners!=null ) triggerExitRuleEvent();
5780 _prevctx = _localctx;
5781 {
5782 setState(1316);
5783 _errHandler.sync(this);
5784 switch ( getInterpreter().adaptivePredict(_input,42,_ctx) ) {
5785 case 1:
5786 {
5787 _localctx = new ExprContext(_parentctx, _parentState);
5788 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5789 setState(1308);
5790 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
5791 setState(1309);
5792 andOperator();
5793 setState(1310);
5794 expr(6);
5795 }
5796 break;
5797 case 2:
5798 {
5799 _localctx = new ExprContext(_parentctx, _parentState);
5800 pushNewRecursionContext(_localctx, _startState, RULE_expr);
5801 setState(1312);
5802 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
5803 setState(1313);
5804 orOperator();
5805 setState(1314);
5806 expr(5);
5807 }
5808 break;
5809 }
5810 }
5811 }
5812 setState(1320);
5813 _errHandler.sync(this);
5814 _alt = getInterpreter().adaptivePredict(_input,43,_ctx);
5815 }
5816 }
5817 }
5818 catch (RecognitionException re) {
5819 _localctx.exception = re;
5820 _errHandler.reportError(this, re);
5821 _errHandler.recover(this, re);
5822 }
5823 finally {
5824 unrollRecursionContexts(_parentctx);
5825 }
5826 return _localctx;
5827 }
5828
5829 public static class AndOperatorContext extends ParserRuleContext {
5830 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
5831 public TerminalNode AND_() { return getToken(SQLServerStatementParser.AND_, 0); }
5832 public AndOperatorContext(ParserRuleContext parent, int invokingState) {
5833 super(parent, invokingState);
5834 }
5835 @Override public int getRuleIndex() { return RULE_andOperator; }
5836 @Override
5837 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5838 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAndOperator(this);
5839 else return visitor.visitChildren(this);
5840 }
5841 }
5842
5843 public final AndOperatorContext andOperator() throws RecognitionException {
5844 AndOperatorContext _localctx = new AndOperatorContext(_ctx, getState());
5845 enterRule(_localctx, 100, RULE_andOperator);
5846 int _la;
5847 try {
5848 enterOuterAlt(_localctx, 1);
5849 {
5850 setState(1321);
5851 _la = _input.LA(1);
5852 if ( !(_la==AND_ || _la==AND) ) {
5853 _errHandler.recoverInline(this);
5854 }
5855 else {
5856 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5857 _errHandler.reportMatch(this);
5858 consume();
5859 }
5860 }
5861 }
5862 catch (RecognitionException re) {
5863 _localctx.exception = re;
5864 _errHandler.reportError(this, re);
5865 _errHandler.recover(this, re);
5866 }
5867 finally {
5868 exitRule();
5869 }
5870 return _localctx;
5871 }
5872
5873 public static class OrOperatorContext extends ParserRuleContext {
5874 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
5875 public TerminalNode OR_() { return getToken(SQLServerStatementParser.OR_, 0); }
5876 public OrOperatorContext(ParserRuleContext parent, int invokingState) {
5877 super(parent, invokingState);
5878 }
5879 @Override public int getRuleIndex() { return RULE_orOperator; }
5880 @Override
5881 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5882 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrOperator(this);
5883 else return visitor.visitChildren(this);
5884 }
5885 }
5886
5887 public final OrOperatorContext orOperator() throws RecognitionException {
5888 OrOperatorContext _localctx = new OrOperatorContext(_ctx, getState());
5889 enterRule(_localctx, 102, RULE_orOperator);
5890 int _la;
5891 try {
5892 enterOuterAlt(_localctx, 1);
5893 {
5894 setState(1323);
5895 _la = _input.LA(1);
5896 if ( !(_la==OR_ || _la==OR) ) {
5897 _errHandler.recoverInline(this);
5898 }
5899 else {
5900 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5901 _errHandler.reportMatch(this);
5902 consume();
5903 }
5904 }
5905 }
5906 catch (RecognitionException re) {
5907 _localctx.exception = re;
5908 _errHandler.reportError(this, re);
5909 _errHandler.recover(this, re);
5910 }
5911 finally {
5912 exitRule();
5913 }
5914 return _localctx;
5915 }
5916
5917 public static class NotOperatorContext extends ParserRuleContext {
5918 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
5919 public TerminalNode NOT_() { return getToken(SQLServerStatementParser.NOT_, 0); }
5920 public NotOperatorContext(ParserRuleContext parent, int invokingState) {
5921 super(parent, invokingState);
5922 }
5923 @Override public int getRuleIndex() { return RULE_notOperator; }
5924 @Override
5925 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5926 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNotOperator(this);
5927 else return visitor.visitChildren(this);
5928 }
5929 }
5930
5931 public final NotOperatorContext notOperator() throws RecognitionException {
5932 NotOperatorContext _localctx = new NotOperatorContext(_ctx, getState());
5933 enterRule(_localctx, 104, RULE_notOperator);
5934 int _la;
5935 try {
5936 enterOuterAlt(_localctx, 1);
5937 {
5938 setState(1325);
5939 _la = _input.LA(1);
5940 if ( !(_la==NOT_ || _la==NOT) ) {
5941 _errHandler.recoverInline(this);
5942 }
5943 else {
5944 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
5945 _errHandler.reportMatch(this);
5946 consume();
5947 }
5948 }
5949 }
5950 catch (RecognitionException re) {
5951 _localctx.exception = re;
5952 _errHandler.reportError(this, re);
5953 _errHandler.recover(this, re);
5954 }
5955 finally {
5956 exitRule();
5957 }
5958 return _localctx;
5959 }
5960
5961 public static class BooleanPrimaryContext extends ParserRuleContext {
5962 public PredicateContext predicate() {
5963 return getRuleContext(PredicateContext.class,0);
5964 }
5965 public BooleanPrimaryContext booleanPrimary() {
5966 return getRuleContext(BooleanPrimaryContext.class,0);
5967 }
5968 public TerminalNode IS() { return getToken(SQLServerStatementParser.IS, 0); }
5969 public TerminalNode TRUE() { return getToken(SQLServerStatementParser.TRUE, 0); }
5970 public TerminalNode FALSE() { return getToken(SQLServerStatementParser.FALSE, 0); }
5971 public TerminalNode UNKNOWN() { return getToken(SQLServerStatementParser.UNKNOWN, 0); }
5972 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
5973 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
5974 public TerminalNode SAFE_EQ_() { return getToken(SQLServerStatementParser.SAFE_EQ_, 0); }
5975 public ComparisonOperatorContext comparisonOperator() {
5976 return getRuleContext(ComparisonOperatorContext.class,0);
5977 }
5978 public SubqueryContext subquery() {
5979 return getRuleContext(SubqueryContext.class,0);
5980 }
5981 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
5982 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
5983 public BooleanPrimaryContext(ParserRuleContext parent, int invokingState) {
5984 super(parent, invokingState);
5985 }
5986 @Override public int getRuleIndex() { return RULE_booleanPrimary; }
5987 @Override
5988 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
5989 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBooleanPrimary(this);
5990 else return visitor.visitChildren(this);
5991 }
5992 }
5993
5994 public final BooleanPrimaryContext booleanPrimary() throws RecognitionException {
5995 return booleanPrimary(0);
5996 }
5997
5998 private BooleanPrimaryContext booleanPrimary(int _p) throws RecognitionException {
5999 ParserRuleContext _parentctx = _ctx;
6000 int _parentState = getState();
6001 BooleanPrimaryContext _localctx = new BooleanPrimaryContext(_ctx, _parentState);
6002 BooleanPrimaryContext _prevctx = _localctx;
6003 int _startState = 106;
6004 enterRecursionRule(_localctx, 106, RULE_booleanPrimary, _p);
6005 int _la;
6006 try {
6007 int _alt;
6008 enterOuterAlt(_localctx, 1);
6009 {
6010 {
6011 setState(1328);
6012 predicate();
6013 }
6014 _ctx.stop = _input.LT(-1);
6015 setState(1350);
6016 _errHandler.sync(this);
6017 _alt = getInterpreter().adaptivePredict(_input,46,_ctx);
6018 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6019 if ( _alt==1 ) {
6020 if ( _parseListeners!=null ) triggerExitRuleEvent();
6021 _prevctx = _localctx;
6022 {
6023 setState(1348);
6024 _errHandler.sync(this);
6025 switch ( getInterpreter().adaptivePredict(_input,45,_ctx) ) {
6026 case 1:
6027 {
6028 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6029 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6030 setState(1330);
6031 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
6032 setState(1331);
6033 match(IS);
6034 setState(1333);
6035 _errHandler.sync(this);
6036 _la = _input.LA(1);
6037 if (_la==NOT) {
6038 {
6039 setState(1332);
6040 match(NOT);
6041 }
6042 }
6043
6044 setState(1335);
6045 _la = _input.LA(1);
6046 if ( !(((((_la - 106)) & ~0x3f) == 0 && ((1L << (_la - 106)) & ((1L << (NULL - 106)) | (1L << (TRUE - 106)) | (1L << (FALSE - 106)))) != 0) || _la==UNKNOWN) ) {
6047 _errHandler.recoverInline(this);
6048 }
6049 else {
6050 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6051 _errHandler.reportMatch(this);
6052 consume();
6053 }
6054 }
6055 break;
6056 case 2:
6057 {
6058 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6059 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6060 setState(1336);
6061 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
6062 setState(1337);
6063 match(SAFE_EQ_);
6064 setState(1338);
6065 predicate();
6066 }
6067 break;
6068 case 3:
6069 {
6070 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6071 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6072 setState(1339);
6073 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
6074 setState(1340);
6075 comparisonOperator();
6076 setState(1341);
6077 predicate();
6078 }
6079 break;
6080 case 4:
6081 {
6082 _localctx = new BooleanPrimaryContext(_parentctx, _parentState);
6083 pushNewRecursionContext(_localctx, _startState, RULE_booleanPrimary);
6084 setState(1343);
6085 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
6086 setState(1344);
6087 comparisonOperator();
6088 setState(1345);
6089 _la = _input.LA(1);
6090 if ( !(_la==ALL || _la==ANY) ) {
6091 _errHandler.recoverInline(this);
6092 }
6093 else {
6094 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6095 _errHandler.reportMatch(this);
6096 consume();
6097 }
6098 setState(1346);
6099 subquery();
6100 }
6101 break;
6102 }
6103 }
6104 }
6105 setState(1352);
6106 _errHandler.sync(this);
6107 _alt = getInterpreter().adaptivePredict(_input,46,_ctx);
6108 }
6109 }
6110 }
6111 catch (RecognitionException re) {
6112 _localctx.exception = re;
6113 _errHandler.reportError(this, re);
6114 _errHandler.recover(this, re);
6115 }
6116 finally {
6117 unrollRecursionContexts(_parentctx);
6118 }
6119 return _localctx;
6120 }
6121
6122 public static class ComparisonOperatorContext extends ParserRuleContext {
6123 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
6124 public TerminalNode GTE_() { return getToken(SQLServerStatementParser.GTE_, 0); }
6125 public TerminalNode GT_() { return getToken(SQLServerStatementParser.GT_, 0); }
6126 public TerminalNode LTE_() { return getToken(SQLServerStatementParser.LTE_, 0); }
6127 public TerminalNode LT_() { return getToken(SQLServerStatementParser.LT_, 0); }
6128 public TerminalNode NEQ_() { return getToken(SQLServerStatementParser.NEQ_, 0); }
6129 public ComparisonOperatorContext(ParserRuleContext parent, int invokingState) {
6130 super(parent, invokingState);
6131 }
6132 @Override public int getRuleIndex() { return RULE_comparisonOperator; }
6133 @Override
6134 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6135 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComparisonOperator(this);
6136 else return visitor.visitChildren(this);
6137 }
6138 }
6139
6140 public final ComparisonOperatorContext comparisonOperator() throws RecognitionException {
6141 ComparisonOperatorContext _localctx = new ComparisonOperatorContext(_ctx, getState());
6142 enterRule(_localctx, 108, RULE_comparisonOperator);
6143 int _la;
6144 try {
6145 enterOuterAlt(_localctx, 1);
6146 {
6147 setState(1353);
6148 _la = _input.LA(1);
6149 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << EQ_) | (1L << NEQ_) | (1L << GT_) | (1L << GTE_) | (1L << LT_) | (1L << LTE_))) != 0)) ) {
6150 _errHandler.recoverInline(this);
6151 }
6152 else {
6153 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6154 _errHandler.reportMatch(this);
6155 consume();
6156 }
6157 }
6158 }
6159 catch (RecognitionException re) {
6160 _localctx.exception = re;
6161 _errHandler.reportError(this, re);
6162 _errHandler.recover(this, re);
6163 }
6164 finally {
6165 exitRule();
6166 }
6167 return _localctx;
6168 }
6169
6170 public static class PredicateContext extends ParserRuleContext {
6171 public List<BitExprContext> bitExpr() {
6172 return getRuleContexts(BitExprContext.class);
6173 }
6174 public BitExprContext bitExpr(int i) {
6175 return getRuleContext(BitExprContext.class,i);
6176 }
6177 public TerminalNode IN() { return getToken(SQLServerStatementParser.IN, 0); }
6178 public SubqueryContext subquery() {
6179 return getRuleContext(SubqueryContext.class,0);
6180 }
6181 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
6182 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6183 public List<ExprContext> expr() {
6184 return getRuleContexts(ExprContext.class);
6185 }
6186 public ExprContext expr(int i) {
6187 return getRuleContext(ExprContext.class,i);
6188 }
6189 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6190 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6191 public TerminalNode COMMA_(int i) {
6192 return getToken(SQLServerStatementParser.COMMA_, i);
6193 }
6194 public TerminalNode BETWEEN() { return getToken(SQLServerStatementParser.BETWEEN, 0); }
6195 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
6196 public PredicateContext predicate() {
6197 return getRuleContext(PredicateContext.class,0);
6198 }
6199 public TerminalNode LIKE() { return getToken(SQLServerStatementParser.LIKE, 0); }
6200 public List<SimpleExprContext> simpleExpr() {
6201 return getRuleContexts(SimpleExprContext.class);
6202 }
6203 public SimpleExprContext simpleExpr(int i) {
6204 return getRuleContext(SimpleExprContext.class,i);
6205 }
6206 public TerminalNode ESCAPE() { return getToken(SQLServerStatementParser.ESCAPE, 0); }
6207 public PredicateContext(ParserRuleContext parent, int invokingState) {
6208 super(parent, invokingState);
6209 }
6210 @Override public int getRuleIndex() { return RULE_predicate; }
6211 @Override
6212 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6213 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPredicate(this);
6214 else return visitor.visitChildren(this);
6215 }
6216 }
6217
6218 public final PredicateContext predicate() throws RecognitionException {
6219 PredicateContext _localctx = new PredicateContext(_ctx, getState());
6220 enterRule(_localctx, 110, RULE_predicate);
6221 int _la;
6222 try {
6223 setState(1398);
6224 _errHandler.sync(this);
6225 switch ( getInterpreter().adaptivePredict(_input,53,_ctx) ) {
6226 case 1:
6227 enterOuterAlt(_localctx, 1);
6228 {
6229 setState(1355);
6230 bitExpr(0);
6231 setState(1357);
6232 _errHandler.sync(this);
6233 _la = _input.LA(1);
6234 if (_la==NOT) {
6235 {
6236 setState(1356);
6237 match(NOT);
6238 }
6239 }
6240
6241 setState(1359);
6242 match(IN);
6243 setState(1360);
6244 subquery();
6245 }
6246 break;
6247 case 2:
6248 enterOuterAlt(_localctx, 2);
6249 {
6250 setState(1362);
6251 bitExpr(0);
6252 setState(1364);
6253 _errHandler.sync(this);
6254 _la = _input.LA(1);
6255 if (_la==NOT) {
6256 {
6257 setState(1363);
6258 match(NOT);
6259 }
6260 }
6261
6262 setState(1366);
6263 match(IN);
6264 setState(1367);
6265 match(LP_);
6266 setState(1368);
6267 expr(0);
6268 setState(1373);
6269 _errHandler.sync(this);
6270 _la = _input.LA(1);
6271 while (_la==COMMA_) {
6272 {
6273 {
6274 setState(1369);
6275 match(COMMA_);
6276 setState(1370);
6277 expr(0);
6278 }
6279 }
6280 setState(1375);
6281 _errHandler.sync(this);
6282 _la = _input.LA(1);
6283 }
6284 setState(1376);
6285 match(RP_);
6286 }
6287 break;
6288 case 3:
6289 enterOuterAlt(_localctx, 3);
6290 {
6291 setState(1378);
6292 bitExpr(0);
6293 setState(1380);
6294 _errHandler.sync(this);
6295 _la = _input.LA(1);
6296 if (_la==NOT) {
6297 {
6298 setState(1379);
6299 match(NOT);
6300 }
6301 }
6302
6303 setState(1382);
6304 match(BETWEEN);
6305 setState(1383);
6306 bitExpr(0);
6307 setState(1384);
6308 match(AND);
6309 setState(1385);
6310 predicate();
6311 }
6312 break;
6313 case 4:
6314 enterOuterAlt(_localctx, 4);
6315 {
6316 setState(1387);
6317 bitExpr(0);
6318 setState(1389);
6319 _errHandler.sync(this);
6320 _la = _input.LA(1);
6321 if (_la==NOT) {
6322 {
6323 setState(1388);
6324 match(NOT);
6325 }
6326 }
6327
6328 setState(1391);
6329 match(LIKE);
6330 setState(1392);
6331 simpleExpr(0);
6332 setState(1395);
6333 _errHandler.sync(this);
6334 switch ( getInterpreter().adaptivePredict(_input,52,_ctx) ) {
6335 case 1:
6336 {
6337 setState(1393);
6338 match(ESCAPE);
6339 setState(1394);
6340 simpleExpr(0);
6341 }
6342 break;
6343 }
6344 }
6345 break;
6346 case 5:
6347 enterOuterAlt(_localctx, 5);
6348 {
6349 setState(1397);
6350 bitExpr(0);
6351 }
6352 break;
6353 }
6354 }
6355 catch (RecognitionException re) {
6356 _localctx.exception = re;
6357 _errHandler.reportError(this, re);
6358 _errHandler.recover(this, re);
6359 }
6360 finally {
6361 exitRule();
6362 }
6363 return _localctx;
6364 }
6365
6366 public static class BitExprContext extends ParserRuleContext {
6367 public SimpleExprContext simpleExpr() {
6368 return getRuleContext(SimpleExprContext.class,0);
6369 }
6370 public List<BitExprContext> bitExpr() {
6371 return getRuleContexts(BitExprContext.class);
6372 }
6373 public BitExprContext bitExpr(int i) {
6374 return getRuleContext(BitExprContext.class,i);
6375 }
6376 public TerminalNode VERTICAL_BAR_() { return getToken(SQLServerStatementParser.VERTICAL_BAR_, 0); }
6377 public TerminalNode AMPERSAND_() { return getToken(SQLServerStatementParser.AMPERSAND_, 0); }
6378 public TerminalNode SIGNED_LEFT_SHIFT_() { return getToken(SQLServerStatementParser.SIGNED_LEFT_SHIFT_, 0); }
6379 public TerminalNode SIGNED_RIGHT_SHIFT_() { return getToken(SQLServerStatementParser.SIGNED_RIGHT_SHIFT_, 0); }
6380 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
6381 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
6382 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
6383 public TerminalNode SLASH_() { return getToken(SQLServerStatementParser.SLASH_, 0); }
6384 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
6385 public TerminalNode CARET_() { return getToken(SQLServerStatementParser.CARET_, 0); }
6386 public BitExprContext(ParserRuleContext parent, int invokingState) {
6387 super(parent, invokingState);
6388 }
6389 @Override public int getRuleIndex() { return RULE_bitExpr; }
6390 @Override
6391 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6392 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitBitExpr(this);
6393 else return visitor.visitChildren(this);
6394 }
6395 }
6396
6397 public final BitExprContext bitExpr() throws RecognitionException {
6398 return bitExpr(0);
6399 }
6400
6401 private BitExprContext bitExpr(int _p) throws RecognitionException {
6402 ParserRuleContext _parentctx = _ctx;
6403 int _parentState = getState();
6404 BitExprContext _localctx = new BitExprContext(_ctx, _parentState);
6405 BitExprContext _prevctx = _localctx;
6406 int _startState = 112;
6407 enterRecursionRule(_localctx, 112, RULE_bitExpr, _p);
6408 try {
6409 int _alt;
6410 enterOuterAlt(_localctx, 1);
6411 {
6412 {
6413 setState(1401);
6414 simpleExpr(0);
6415 }
6416 _ctx.stop = _input.LT(-1);
6417 setState(1435);
6418 _errHandler.sync(this);
6419 _alt = getInterpreter().adaptivePredict(_input,55,_ctx);
6420 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6421 if ( _alt==1 ) {
6422 if ( _parseListeners!=null ) triggerExitRuleEvent();
6423 _prevctx = _localctx;
6424 {
6425 setState(1433);
6426 _errHandler.sync(this);
6427 switch ( getInterpreter().adaptivePredict(_input,54,_ctx) ) {
6428 case 1:
6429 {
6430 _localctx = new BitExprContext(_parentctx, _parentState);
6431 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6432 setState(1403);
6433 if (!(precpred(_ctx, 11))) throw new FailedPredicateException(this, "precpred(_ctx, 11)");
6434 setState(1404);
6435 match(VERTICAL_BAR_);
6436 setState(1405);
6437 bitExpr(12);
6438 }
6439 break;
6440 case 2:
6441 {
6442 _localctx = new BitExprContext(_parentctx, _parentState);
6443 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6444 setState(1406);
6445 if (!(precpred(_ctx, 10))) throw new FailedPredicateException(this, "precpred(_ctx, 10)");
6446 setState(1407);
6447 match(AMPERSAND_);
6448 setState(1408);
6449 bitExpr(11);
6450 }
6451 break;
6452 case 3:
6453 {
6454 _localctx = new BitExprContext(_parentctx, _parentState);
6455 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6456 setState(1409);
6457 if (!(precpred(_ctx, 9))) throw new FailedPredicateException(this, "precpred(_ctx, 9)");
6458 setState(1410);
6459 match(SIGNED_LEFT_SHIFT_);
6460 setState(1411);
6461 bitExpr(10);
6462 }
6463 break;
6464 case 4:
6465 {
6466 _localctx = new BitExprContext(_parentctx, _parentState);
6467 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6468 setState(1412);
6469 if (!(precpred(_ctx, 8))) throw new FailedPredicateException(this, "precpred(_ctx, 8)");
6470 setState(1413);
6471 match(SIGNED_RIGHT_SHIFT_);
6472 setState(1414);
6473 bitExpr(9);
6474 }
6475 break;
6476 case 5:
6477 {
6478 _localctx = new BitExprContext(_parentctx, _parentState);
6479 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6480 setState(1415);
6481 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
6482 setState(1416);
6483 match(PLUS_);
6484 setState(1417);
6485 bitExpr(8);
6486 }
6487 break;
6488 case 6:
6489 {
6490 _localctx = new BitExprContext(_parentctx, _parentState);
6491 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6492 setState(1418);
6493 if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
6494 setState(1419);
6495 match(MINUS_);
6496 setState(1420);
6497 bitExpr(7);
6498 }
6499 break;
6500 case 7:
6501 {
6502 _localctx = new BitExprContext(_parentctx, _parentState);
6503 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6504 setState(1421);
6505 if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
6506 setState(1422);
6507 match(ASTERISK_);
6508 setState(1423);
6509 bitExpr(6);
6510 }
6511 break;
6512 case 8:
6513 {
6514 _localctx = new BitExprContext(_parentctx, _parentState);
6515 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6516 setState(1424);
6517 if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
6518 setState(1425);
6519 match(SLASH_);
6520 setState(1426);
6521 bitExpr(5);
6522 }
6523 break;
6524 case 9:
6525 {
6526 _localctx = new BitExprContext(_parentctx, _parentState);
6527 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6528 setState(1427);
6529 if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
6530 setState(1428);
6531 match(MOD_);
6532 setState(1429);
6533 bitExpr(4);
6534 }
6535 break;
6536 case 10:
6537 {
6538 _localctx = new BitExprContext(_parentctx, _parentState);
6539 pushNewRecursionContext(_localctx, _startState, RULE_bitExpr);
6540 setState(1430);
6541 if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
6542 setState(1431);
6543 match(CARET_);
6544 setState(1432);
6545 bitExpr(3);
6546 }
6547 break;
6548 }
6549 }
6550 }
6551 setState(1437);
6552 _errHandler.sync(this);
6553 _alt = getInterpreter().adaptivePredict(_input,55,_ctx);
6554 }
6555 }
6556 }
6557 catch (RecognitionException re) {
6558 _localctx.exception = re;
6559 _errHandler.reportError(this, re);
6560 _errHandler.recover(this, re);
6561 }
6562 finally {
6563 unrollRecursionContexts(_parentctx);
6564 }
6565 return _localctx;
6566 }
6567
6568 public static class SimpleExprContext extends ParserRuleContext {
6569 public FunctionCallContext functionCall() {
6570 return getRuleContext(FunctionCallContext.class,0);
6571 }
6572 public ParameterMarkerContext parameterMarker() {
6573 return getRuleContext(ParameterMarkerContext.class,0);
6574 }
6575 public LiteralsContext literals() {
6576 return getRuleContext(LiteralsContext.class,0);
6577 }
6578 public ColumnNameContext columnName() {
6579 return getRuleContext(ColumnNameContext.class,0);
6580 }
6581 public VariableNameContext variableName() {
6582 return getRuleContext(VariableNameContext.class,0);
6583 }
6584 public List<SimpleExprContext> simpleExpr() {
6585 return getRuleContexts(SimpleExprContext.class);
6586 }
6587 public SimpleExprContext simpleExpr(int i) {
6588 return getRuleContext(SimpleExprContext.class,i);
6589 }
6590 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
6591 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
6592 public TerminalNode TILDE_() { return getToken(SQLServerStatementParser.TILDE_, 0); }
6593 public TerminalNode NOT_() { return getToken(SQLServerStatementParser.NOT_, 0); }
6594 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
6595 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6596 public List<ExprContext> expr() {
6597 return getRuleContexts(ExprContext.class);
6598 }
6599 public ExprContext expr(int i) {
6600 return getRuleContext(ExprContext.class,i);
6601 }
6602 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6603 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
6604 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6605 public TerminalNode COMMA_(int i) {
6606 return getToken(SQLServerStatementParser.COMMA_, i);
6607 }
6608 public SubqueryContext subquery() {
6609 return getRuleContext(SubqueryContext.class,0);
6610 }
6611 public TerminalNode EXISTS() { return getToken(SQLServerStatementParser.EXISTS, 0); }
6612 public TerminalNode LBE_() { return getToken(SQLServerStatementParser.LBE_, 0); }
6613 public IdentifierContext identifier() {
6614 return getRuleContext(IdentifierContext.class,0);
6615 }
6616 public TerminalNode RBE_() { return getToken(SQLServerStatementParser.RBE_, 0); }
6617 public CaseExpressionContext caseExpression() {
6618 return getRuleContext(CaseExpressionContext.class,0);
6619 }
6620 public PrivateExprOfDbContext privateExprOfDb() {
6621 return getRuleContext(PrivateExprOfDbContext.class,0);
6622 }
6623 public TerminalNode OR_() { return getToken(SQLServerStatementParser.OR_, 0); }
6624 public SimpleExprContext(ParserRuleContext parent, int invokingState) {
6625 super(parent, invokingState);
6626 }
6627 @Override public int getRuleIndex() { return RULE_simpleExpr; }
6628 @Override
6629 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6630 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSimpleExpr(this);
6631 else return visitor.visitChildren(this);
6632 }
6633 }
6634
6635 public final SimpleExprContext simpleExpr() throws RecognitionException {
6636 return simpleExpr(0);
6637 }
6638
6639 private SimpleExprContext simpleExpr(int _p) throws RecognitionException {
6640 ParserRuleContext _parentctx = _ctx;
6641 int _parentState = getState();
6642 SimpleExprContext _localctx = new SimpleExprContext(_ctx, _parentState);
6643 SimpleExprContext _prevctx = _localctx;
6644 int _startState = 114;
6645 enterRecursionRule(_localctx, 114, RULE_simpleExpr, _p);
6646 int _la;
6647 try {
6648 int _alt;
6649 enterOuterAlt(_localctx, 1);
6650 {
6651 setState(1471);
6652 _errHandler.sync(this);
6653 switch ( getInterpreter().adaptivePredict(_input,59,_ctx) ) {
6654 case 1:
6655 {
6656 setState(1439);
6657 functionCall();
6658 }
6659 break;
6660 case 2:
6661 {
6662 setState(1440);
6663 parameterMarker();
6664 }
6665 break;
6666 case 3:
6667 {
6668 setState(1441);
6669 literals();
6670 }
6671 break;
6672 case 4:
6673 {
6674 setState(1442);
6675 columnName();
6676 }
6677 break;
6678 case 5:
6679 {
6680 setState(1443);
6681 variableName();
6682 }
6683 break;
6684 case 6:
6685 {
6686 setState(1444);
6687 _la = _input.LA(1);
6688 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_))) != 0) || _la==BINARY) ) {
6689 _errHandler.recoverInline(this);
6690 }
6691 else {
6692 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
6693 _errHandler.reportMatch(this);
6694 consume();
6695 }
6696 setState(1445);
6697 simpleExpr(6);
6698 }
6699 break;
6700 case 7:
6701 {
6702 setState(1447);
6703 _errHandler.sync(this);
6704 _la = _input.LA(1);
6705 if (_la==ROW) {
6706 {
6707 setState(1446);
6708 match(ROW);
6709 }
6710 }
6711
6712 setState(1449);
6713 match(LP_);
6714 setState(1450);
6715 expr(0);
6716 setState(1455);
6717 _errHandler.sync(this);
6718 _la = _input.LA(1);
6719 while (_la==COMMA_) {
6720 {
6721 {
6722 setState(1451);
6723 match(COMMA_);
6724 setState(1452);
6725 expr(0);
6726 }
6727 }
6728 setState(1457);
6729 _errHandler.sync(this);
6730 _la = _input.LA(1);
6731 }
6732 setState(1458);
6733 match(RP_);
6734 }
6735 break;
6736 case 8:
6737 {
6738 setState(1461);
6739 _errHandler.sync(this);
6740 _la = _input.LA(1);
6741 if (_la==EXISTS) {
6742 {
6743 setState(1460);
6744 match(EXISTS);
6745 }
6746 }
6747
6748 setState(1463);
6749 subquery();
6750 }
6751 break;
6752 case 9:
6753 {
6754 setState(1464);
6755 match(LBE_);
6756 setState(1465);
6757 identifier();
6758 setState(1466);
6759 expr(0);
6760 setState(1467);
6761 match(RBE_);
6762 }
6763 break;
6764 case 10:
6765 {
6766 setState(1469);
6767 caseExpression();
6768 }
6769 break;
6770 case 11:
6771 {
6772 setState(1470);
6773 privateExprOfDb();
6774 }
6775 break;
6776 }
6777 _ctx.stop = _input.LT(-1);
6778 setState(1478);
6779 _errHandler.sync(this);
6780 _alt = getInterpreter().adaptivePredict(_input,60,_ctx);
6781 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
6782 if ( _alt==1 ) {
6783 if ( _parseListeners!=null ) triggerExitRuleEvent();
6784 _prevctx = _localctx;
6785 {
6786 {
6787 _localctx = new SimpleExprContext(_parentctx, _parentState);
6788 pushNewRecursionContext(_localctx, _startState, RULE_simpleExpr);
6789 setState(1473);
6790 if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
6791 setState(1474);
6792 match(OR_);
6793 setState(1475);
6794 simpleExpr(8);
6795 }
6796 }
6797 }
6798 setState(1480);
6799 _errHandler.sync(this);
6800 _alt = getInterpreter().adaptivePredict(_input,60,_ctx);
6801 }
6802 }
6803 }
6804 catch (RecognitionException re) {
6805 _localctx.exception = re;
6806 _errHandler.reportError(this, re);
6807 _errHandler.recover(this, re);
6808 }
6809 finally {
6810 unrollRecursionContexts(_parentctx);
6811 }
6812 return _localctx;
6813 }
6814
6815 public static class FunctionCallContext extends ParserRuleContext {
6816 public AggregationFunctionContext aggregationFunction() {
6817 return getRuleContext(AggregationFunctionContext.class,0);
6818 }
6819 public SpecialFunctionContext specialFunction() {
6820 return getRuleContext(SpecialFunctionContext.class,0);
6821 }
6822 public RegularFunctionContext regularFunction() {
6823 return getRuleContext(RegularFunctionContext.class,0);
6824 }
6825 public FunctionCallContext(ParserRuleContext parent, int invokingState) {
6826 super(parent, invokingState);
6827 }
6828 @Override public int getRuleIndex() { return RULE_functionCall; }
6829 @Override
6830 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6831 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionCall(this);
6832 else return visitor.visitChildren(this);
6833 }
6834 }
6835
6836 public final FunctionCallContext functionCall() throws RecognitionException {
6837 FunctionCallContext _localctx = new FunctionCallContext(_ctx, getState());
6838 enterRule(_localctx, 116, RULE_functionCall);
6839 try {
6840 setState(1484);
6841 _errHandler.sync(this);
6842 switch ( getInterpreter().adaptivePredict(_input,61,_ctx) ) {
6843 case 1:
6844 enterOuterAlt(_localctx, 1);
6845 {
6846 setState(1481);
6847 aggregationFunction();
6848 }
6849 break;
6850 case 2:
6851 enterOuterAlt(_localctx, 2);
6852 {
6853 setState(1482);
6854 specialFunction();
6855 }
6856 break;
6857 case 3:
6858 enterOuterAlt(_localctx, 3);
6859 {
6860 setState(1483);
6861 regularFunction();
6862 }
6863 break;
6864 }
6865 }
6866 catch (RecognitionException re) {
6867 _localctx.exception = re;
6868 _errHandler.reportError(this, re);
6869 _errHandler.recover(this, re);
6870 }
6871 finally {
6872 exitRule();
6873 }
6874 return _localctx;
6875 }
6876
6877 public static class AggregationFunctionContext extends ParserRuleContext {
6878 public AggregationFunctionNameContext aggregationFunctionName() {
6879 return getRuleContext(AggregationFunctionNameContext.class,0);
6880 }
6881 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
6882 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
6883 public DistinctContext distinct() {
6884 return getRuleContext(DistinctContext.class,0);
6885 }
6886 public List<ExprContext> expr() {
6887 return getRuleContexts(ExprContext.class);
6888 }
6889 public ExprContext expr(int i) {
6890 return getRuleContext(ExprContext.class,i);
6891 }
6892 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
6893 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
6894 public TerminalNode COMMA_(int i) {
6895 return getToken(SQLServerStatementParser.COMMA_, i);
6896 }
6897 public AggregationFunctionContext(ParserRuleContext parent, int invokingState) {
6898 super(parent, invokingState);
6899 }
6900 @Override public int getRuleIndex() { return RULE_aggregationFunction; }
6901 @Override
6902 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
6903 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationFunction(this);
6904 else return visitor.visitChildren(this);
6905 }
6906 }
6907
6908 public final AggregationFunctionContext aggregationFunction() throws RecognitionException {
6909 AggregationFunctionContext _localctx = new AggregationFunctionContext(_ctx, getState());
6910 enterRule(_localctx, 118, RULE_aggregationFunction);
6911 int _la;
6912 try {
6913 enterOuterAlt(_localctx, 1);
6914 {
6915 setState(1486);
6916 aggregationFunctionName();
6917 setState(1487);
6918 match(LP_);
6919 setState(1489);
6920 _errHandler.sync(this);
6921 _la = _input.LA(1);
6922 if (_la==DISTINCT) {
6923 {
6924 setState(1488);
6925 distinct();
6926 }
6927 }
6928
6929 setState(1500);
6930 _errHandler.sync(this);
6931 switch (_input.LA(1)) {
6932 case NOT_:
6933 case TILDE_:
6934 case PLUS_:
6935 case MINUS_:
6936 case LP_:
6937 case LBE_:
6938 case QUESTION_:
6939 case DOLLAR_:
6940 case TRUNCATE:
6941 case SCHEMA:
6942 case FUNCTION:
6943 case TRIGGER:
6944 case CASE:
6945 case CAST:
6946 case IF:
6947 case NOT:
6948 case NULL:
6949 case TRUE:
6950 case FALSE:
6951 case EXISTS:
6952 case GROUP:
6953 case LIMIT:
6954 case OFFSET:
6955 case SAVEPOINT:
6956 case BOOLEAN:
6957 case CHAR:
6958 case ARRAY:
6959 case INTERVAL:
6960 case DATE:
6961 case TIME:
6962 case TIMESTAMP:
6963 case LOCALTIME:
6964 case LOCALTIMESTAMP:
6965 case QUARTER:
6966 case WEEK:
6967 case DAY:
6968 case MICROSECOND:
6969 case MAX:
6970 case MIN:
6971 case SUM:
6972 case COUNT:
6973 case AVG:
6974 case ENABLE:
6975 case DISABLE:
6976 case INSTANCE:
6977 case DO:
6978 case DEFINER:
6979 case SQL:
6980 case CASCADED:
6981 case LOCAL:
6982 case NEXT:
6983 case NAME:
6984 case INTEGER:
6985 case TYPE:
6986 case READ_ONLY:
6987 case DATABASE:
6988 case DATEPART:
6989 case PASSWORD:
6990 case BINARY:
6991 case HIDDEN_:
6992 case MOD:
6993 case PARTITION:
6994 case PARTITIONS:
6995 case TOP:
6996 case ROW:
6997 case ROWS:
6998 case XOR:
6999 case ALWAYS:
7000 case ROLE:
7001 case START:
7002 case ALGORITHM:
7003 case AUTO:
7004 case BLOCKERS:
7005 case CLUSTERED:
7006 case NONCLUSTERED:
7007 case COLUMNSTORE:
7008 case CONTENT:
7009 case CONVERT:
7010 case YEARS:
7011 case MONTHS:
7012 case WEEKS:
7013 case DAYS:
7014 case MINUTES:
7015 case DENY:
7016 case DETERMINISTIC:
7017 case DISTRIBUTION:
7018 case DOCUMENT:
7019 case DURABILITY:
7020 case ENCRYPTED:
7021 case FILESTREAM:
7022 case FILETABLE:
7023 case FILLFACTOR:
7024 case FOLLOWING:
7025 case HASH:
7026 case HEAP:
7027 case INBOUND:
7028 case OUTBOUND:
7029 case UNBOUNDED:
7030 case INFINITE:
7031 case LOGIN:
7032 case MASKED:
7033 case MAXDOP:
7034 case MOVE:
7035 case NOCHECK:
7036 case OBJECT:
7037 case OFF:
7038 case ONLINE:
7039 case OVER:
7040 case PAGE:
7041 case PAUSED:
7042 case PERIOD:
7043 case PERSISTED:
7044 case PRECEDING:
7045 case RANDOMIZED:
7046 case RANGE:
7047 case REBUILD:
7048 case REPLICATE:
7049 case REPLICATION:
7050 case RESUMABLE:
7051 case ROWGUIDCOL:
7052 case SAVE:
7053 case SELF:
7054 case SPARSE:
7055 case SWITCH:
7056 case TRAN:
7057 case TRANCOUNT:
7058 case CONTROL:
7059 case CONCAT:
7060 case TAKE:
7061 case OWNERSHIP:
7062 case DEFINITION:
7063 case APPLICATION:
7064 case ASSEMBLY:
7065 case SYMMETRIC:
7066 case ASYMMETRIC:
7067 case SERVER:
7068 case RECEIVE:
7069 case CHANGE:
7070 case TRACE:
7071 case TRACKING:
7072 case RESOURCES:
7073 case SETTINGS:
7074 case STATE:
7075 case AVAILABILITY:
7076 case CREDENTIAL:
7077 case ENDPOINT:
7078 case EVENT:
7079 case NOTIFICATION:
7080 case LINKED:
7081 case AUDIT:
7082 case DDL:
7083 case XML:
7084 case IMPERSONATE:
7085 case SECURABLES:
7086 case AUTHENTICATE:
7087 case EXTERNAL:
7088 case ACCESS:
7089 case ADMINISTER:
7090 case BULK:
7091 case OPERATIONS:
7092 case UNSAFE:
7093 case SHUTDOWN:
7094 case SCOPED:
7095 case CONFIGURATION:
7096 case DATASPACE:
7097 case SERVICE:
7098 case CERTIFICATE:
7099 case CONTRACT:
7100 case ENCRYPTION:
7101 case MASTER:
7102 case DATA:
7103 case SOURCE:
7104 case FILE:
7105 case FORMAT:
7106 case LIBRARY:
7107 case FULLTEXT:
7108 case MASK:
7109 case UNMASK:
7110 case MESSAGE:
7111 case REMOTE:
7112 case BINDING:
7113 case ROUTE:
7114 case SECURITY:
7115 case POLICY:
7116 case AGGREGATE:
7117 case QUEUE:
7118 case RULE:
7119 case SYNONYM:
7120 case COLLECTION:
7121 case SCRIPT:
7122 case KILL:
7123 case BACKUP:
7124 case LOG:
7125 case SHOWPLAN:
7126 case SUBSCRIBE:
7127 case QUERY:
7128 case NOTIFICATIONS:
7129 case CHECKPOINT:
7130 case SEQUENCE:
7131 case ABORT_AFTER_WAIT:
7132 case ALLOW_PAGE_LOCKS:
7133 case ALLOW_ROW_LOCKS:
7134 case ALL_SPARSE_COLUMNS:
7135 case BUCKET_COUNT:
7136 case COLUMNSTORE_ARCHIVE:
7137 case COLUMN_ENCRYPTION_KEY:
7138 case COLUMN_SET:
7139 case COMPRESSION_DELAY:
7140 case DATABASE_DEAULT:
7141 case DATA_COMPRESSION:
7142 case DATA_CONSISTENCY_CHECK:
7143 case ENCRYPTION_TYPE:
7144 case SYSTEM_TIME:
7145 case SYSTEM_VERSIONING:
7146 case TEXTIMAGE_ON:
7147 case WAIT_AT_LOW_PRIORITY:
7148 case STATISTICS_INCREMENTAL:
7149 case STATISTICS_NORECOMPUTE:
7150 case ROUND_ROBIN:
7151 case SCHEMA_AND_DATA:
7152 case SCHEMA_ONLY:
7153 case SORT_IN_TEMPDB:
7154 case IGNORE_DUP_KEY:
7155 case IMPLICIT_TRANSACTIONS:
7156 case MAX_DURATION:
7157 case MEMORY_OPTIMIZED:
7158 case MIGRATION_STATE:
7159 case PAD_INDEX:
7160 case REMOTE_DATA_ARCHIVE:
7161 case FILESTREAM_ON:
7162 case FILETABLE_COLLATE_FILENAME:
7163 case FILETABLE_DIRECTORY:
7164 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
7165 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
7166 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
7167 case FILTER_PREDICATE:
7168 case HISTORY_RETENTION_PERIOD:
7169 case HISTORY_TABLE:
7170 case LOCK_ESCALATION:
7171 case DROP_EXISTING:
7172 case ROW_NUMBER:
7173 case FIRST:
7174 case DATETIME2:
7175 case OUTPUT:
7176 case INSERTED:
7177 case DELETED:
7178 case FILENAME:
7179 case MAXSIZE:
7180 case FILEGROWTH:
7181 case UNLIMITED:
7182 case KB:
7183 case MB:
7184 case GB:
7185 case TB:
7186 case MEMORY_OPTIMIZED_DATA:
7187 case FILEGROUP:
7188 case NON_TRANSACTED_ACCESS:
7189 case DB_CHAINING:
7190 case TRUSTWORTHY:
7191 case FORWARD_ONLY:
7192 case KEYSET:
7193 case FAST_FORWARD:
7194 case SCROLL_LOCKS:
7195 case OPTIMISTIC:
7196 case TYPE_WARNING:
7197 case SCHEMABINDING:
7198 case CALLER:
7199 case OWNER:
7200 case SNAPSHOT:
7201 case REPEATABLE:
7202 case SERIALIZABLE:
7203 case NATIVE_COMPILATION:
7204 case VIEW_METADATA:
7205 case INSTEAD:
7206 case APPEND:
7207 case INCREMENT:
7208 case CACHE:
7209 case MINVALUE:
7210 case MAXVALUE:
7211 case RESTART:
7212 case LOB_COMPACTION:
7213 case COMPRESS_ALL_ROW_GROUPS:
7214 case REORGANIZE:
7215 case RESUME:
7216 case PAUSE:
7217 case ABORT:
7218 case ACCELERATED_DATABASE_RECOVERY:
7219 case PERSISTENT_VERSION_STORE_FILEGROUP:
7220 case IMMEDIATE:
7221 case NO_WAIT:
7222 case TARGET_RECOVERY_TIME:
7223 case SECONDS:
7224 case HONOR_BROKER_PRIORITY:
7225 case ERROR_BROKER_CONVERSATIONS:
7226 case NEW_BROKER:
7227 case DISABLE_BROKER:
7228 case ENABLE_BROKER:
7229 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
7230 case READ_COMMITTED_SNAPSHOT:
7231 case ALLOW_SNAPSHOT_ISOLATION:
7232 case RECURSIVE_TRIGGERS:
7233 case QUOTED_IDENTIFIER:
7234 case NUMERIC_ROUNDABORT:
7235 case CONCAT_NULL_YIELDS_NULL:
7236 case COMPATIBILITY_LEVEL:
7237 case ARITHABORT:
7238 case ANSI_WARNINGS:
7239 case ANSI_PADDING:
7240 case ANSI_NULLS:
7241 case ANSI_NULL_DEFAULT:
7242 case PAGE_VERIFY:
7243 case CHECKSUM:
7244 case TORN_PAGE_DETECTION:
7245 case BULK_LOGGED:
7246 case RECOVERY:
7247 case TOTAL_EXECUTION_CPU_TIME_MS:
7248 case TOTAL_COMPILE_CPU_TIME_MS:
7249 case STALE_CAPTURE_POLICY_THRESHOLD:
7250 case EXECUTION_COUNT:
7251 case QUERY_CAPTURE_POLICY:
7252 case WAIT_STATS_CAPTURE_MODE:
7253 case MAX_PLANS_PER_QUERY:
7254 case QUERY_CAPTURE_MODE:
7255 case SIZE_BASED_CLEANUP_MODE:
7256 case INTERVAL_LENGTH_MINUTES:
7257 case MAX_STORAGE_SIZE_MB:
7258 case DATA_FLUSH_INTERVAL_SECONDS:
7259 case CLEANUP_POLICY:
7260 case CUSTOM:
7261 case STALE_QUERY_THRESHOLD_DAYS:
7262 case OPERATION_MODE:
7263 case QUERY_STORE:
7264 case CURSOR_DEFAULT:
7265 case GLOBAL:
7266 case CURSOR_CLOSE_ON_COMMIT:
7267 case HOURS:
7268 case CHANGE_RETENTION:
7269 case AUTO_CLEANUP:
7270 case CHANGE_TRACKING:
7271 case AUTOMATIC_TUNING:
7272 case FORCE_LAST_GOOD_PLAN:
7273 case AUTO_UPDATE_STATISTICS_ASYNC:
7274 case AUTO_UPDATE_STATISTICS:
7275 case AUTO_SHRINK:
7276 case AUTO_CREATE_STATISTICS:
7277 case INCREMENTAL:
7278 case AUTO_CLOSE:
7279 case DATA_RETENTION:
7280 case TEMPORAL_HISTORY_RETENTION:
7281 case EDITION:
7282 case MIXED_PAGE_ALLOCATION:
7283 case DISABLED:
7284 case ALLOWED:
7285 case HADR:
7286 case MULTI_USER:
7287 case RESTRICTED_USER:
7288 case SINGLE_USER:
7289 case OFFLINE:
7290 case EMERGENCY:
7291 case SUSPEND:
7292 case DATE_CORRELATION_OPTIMIZATION:
7293 case ELASTIC_POOL:
7294 case SERVICE_OBJECTIVE:
7295 case DATABASE_NAME:
7296 case ALLOW_CONNECTIONS:
7297 case GEO:
7298 case NAMED:
7299 case DATEFIRST:
7300 case BACKUP_STORAGE_REDUNDANCY:
7301 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
7302 case SECONDARY:
7303 case FAILOVER:
7304 case DEFAULT_FULLTEXT_LANGUAGE:
7305 case DEFAULT_LANGUAGE:
7306 case INLINE:
7307 case NESTED_TRIGGERS:
7308 case TRANSFORM_NOISE_WORDS:
7309 case TWO_DIGIT_YEAR_CUTOFF:
7310 case PERSISTENT_LOG_BUFFER:
7311 case DIRECTORY_NAME:
7312 case DATEFORMAT:
7313 case DELAYED_DURABILITY:
7314 case AUTHORIZATION:
7315 case TRANSFER:
7316 case SEARCH:
7317 case MEMBER:
7318 case IDENTIFIER_:
7319 case DELIMITED_IDENTIFIER_:
7320 case STRING_:
7321 case NUMBER_:
7322 case HEX_DIGIT_:
7323 case BIT_NUM_:
7324 case NCHAR_TEXT:
7325 {
7326 setState(1491);
7327 expr(0);
7328 setState(1496);
7329 _errHandler.sync(this);
7330 _la = _input.LA(1);
7331 while (_la==COMMA_) {
7332 {
7333 {
7334 setState(1492);
7335 match(COMMA_);
7336 setState(1493);
7337 expr(0);
7338 }
7339 }
7340 setState(1498);
7341 _errHandler.sync(this);
7342 _la = _input.LA(1);
7343 }
7344 }
7345 break;
7346 case ASTERISK_:
7347 {
7348 setState(1499);
7349 match(ASTERISK_);
7350 }
7351 break;
7352 case RP_:
7353 break;
7354 default:
7355 break;
7356 }
7357 setState(1502);
7358 match(RP_);
7359 }
7360 }
7361 catch (RecognitionException re) {
7362 _localctx.exception = re;
7363 _errHandler.reportError(this, re);
7364 _errHandler.recover(this, re);
7365 }
7366 finally {
7367 exitRule();
7368 }
7369 return _localctx;
7370 }
7371
7372 public static class AggregationFunctionNameContext extends ParserRuleContext {
7373 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
7374 public TerminalNode MIN() { return getToken(SQLServerStatementParser.MIN, 0); }
7375 public TerminalNode SUM() { return getToken(SQLServerStatementParser.SUM, 0); }
7376 public TerminalNode COUNT() { return getToken(SQLServerStatementParser.COUNT, 0); }
7377 public TerminalNode AVG() { return getToken(SQLServerStatementParser.AVG, 0); }
7378 public AggregationFunctionNameContext(ParserRuleContext parent, int invokingState) {
7379 super(parent, invokingState);
7380 }
7381 @Override public int getRuleIndex() { return RULE_aggregationFunctionName; }
7382 @Override
7383 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7384 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationFunctionName(this);
7385 else return visitor.visitChildren(this);
7386 }
7387 }
7388
7389 public final AggregationFunctionNameContext aggregationFunctionName() throws RecognitionException {
7390 AggregationFunctionNameContext _localctx = new AggregationFunctionNameContext(_ctx, getState());
7391 enterRule(_localctx, 120, RULE_aggregationFunctionName);
7392 int _la;
7393 try {
7394 enterOuterAlt(_localctx, 1);
7395 {
7396 setState(1504);
7397 _la = _input.LA(1);
7398 if ( !(((((_la - 147)) & ~0x3f) == 0 && ((1L << (_la - 147)) & ((1L << (MAX - 147)) | (1L << (MIN - 147)) | (1L << (SUM - 147)) | (1L << (COUNT - 147)) | (1L << (AVG - 147)))) != 0)) ) {
7399 _errHandler.recoverInline(this);
7400 }
7401 else {
7402 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
7403 _errHandler.reportMatch(this);
7404 consume();
7405 }
7406 }
7407 }
7408 catch (RecognitionException re) {
7409 _localctx.exception = re;
7410 _errHandler.reportError(this, re);
7411 _errHandler.recover(this, re);
7412 }
7413 finally {
7414 exitRule();
7415 }
7416 return _localctx;
7417 }
7418
7419 public static class DistinctContext extends ParserRuleContext {
7420 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
7421 public DistinctContext(ParserRuleContext parent, int invokingState) {
7422 super(parent, invokingState);
7423 }
7424 @Override public int getRuleIndex() { return RULE_distinct; }
7425 @Override
7426 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7427 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistinct(this);
7428 else return visitor.visitChildren(this);
7429 }
7430 }
7431
7432 public final DistinctContext distinct() throws RecognitionException {
7433 DistinctContext _localctx = new DistinctContext(_ctx, getState());
7434 enterRule(_localctx, 122, RULE_distinct);
7435 try {
7436 enterOuterAlt(_localctx, 1);
7437 {
7438 setState(1506);
7439 match(DISTINCT);
7440 }
7441 }
7442 catch (RecognitionException re) {
7443 _localctx.exception = re;
7444 _errHandler.reportError(this, re);
7445 _errHandler.recover(this, re);
7446 }
7447 finally {
7448 exitRule();
7449 }
7450 return _localctx;
7451 }
7452
7453 public static class SpecialFunctionContext extends ParserRuleContext {
7454 public CastFunctionContext castFunction() {
7455 return getRuleContext(CastFunctionContext.class,0);
7456 }
7457 public CharFunctionContext charFunction() {
7458 return getRuleContext(CharFunctionContext.class,0);
7459 }
7460 public ConvertFunctionContext convertFunction() {
7461 return getRuleContext(ConvertFunctionContext.class,0);
7462 }
7463 public SpecialFunctionContext(ParserRuleContext parent, int invokingState) {
7464 super(parent, invokingState);
7465 }
7466 @Override public int getRuleIndex() { return RULE_specialFunction; }
7467 @Override
7468 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7469 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSpecialFunction(this);
7470 else return visitor.visitChildren(this);
7471 }
7472 }
7473
7474 public final SpecialFunctionContext specialFunction() throws RecognitionException {
7475 SpecialFunctionContext _localctx = new SpecialFunctionContext(_ctx, getState());
7476 enterRule(_localctx, 124, RULE_specialFunction);
7477 try {
7478 setState(1511);
7479 _errHandler.sync(this);
7480 switch (_input.LA(1)) {
7481 case CAST:
7482 enterOuterAlt(_localctx, 1);
7483 {
7484 setState(1508);
7485 castFunction();
7486 }
7487 break;
7488 case CHAR:
7489 enterOuterAlt(_localctx, 2);
7490 {
7491 setState(1509);
7492 charFunction();
7493 }
7494 break;
7495 case CONVERT:
7496 enterOuterAlt(_localctx, 3);
7497 {
7498 setState(1510);
7499 convertFunction();
7500 }
7501 break;
7502 default:
7503 throw new NoViableAltException(this);
7504 }
7505 }
7506 catch (RecognitionException re) {
7507 _localctx.exception = re;
7508 _errHandler.reportError(this, re);
7509 _errHandler.recover(this, re);
7510 }
7511 finally {
7512 exitRule();
7513 }
7514 return _localctx;
7515 }
7516
7517 public static class CastFunctionContext extends ParserRuleContext {
7518 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
7519 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7520 public ExprContext expr() {
7521 return getRuleContext(ExprContext.class,0);
7522 }
7523 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
7524 public DataTypeContext dataType() {
7525 return getRuleContext(DataTypeContext.class,0);
7526 }
7527 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7528 public CastFunctionContext(ParserRuleContext parent, int invokingState) {
7529 super(parent, invokingState);
7530 }
7531 @Override public int getRuleIndex() { return RULE_castFunction; }
7532 @Override
7533 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7534 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCastFunction(this);
7535 else return visitor.visitChildren(this);
7536 }
7537 }
7538
7539 public final CastFunctionContext castFunction() throws RecognitionException {
7540 CastFunctionContext _localctx = new CastFunctionContext(_ctx, getState());
7541 enterRule(_localctx, 126, RULE_castFunction);
7542 try {
7543 enterOuterAlt(_localctx, 1);
7544 {
7545 setState(1513);
7546 match(CAST);
7547 setState(1514);
7548 match(LP_);
7549 setState(1515);
7550 expr(0);
7551 setState(1516);
7552 match(AS);
7553 setState(1517);
7554 dataType();
7555 setState(1518);
7556 match(RP_);
7557 }
7558 }
7559 catch (RecognitionException re) {
7560 _localctx.exception = re;
7561 _errHandler.reportError(this, re);
7562 _errHandler.recover(this, re);
7563 }
7564 finally {
7565 exitRule();
7566 }
7567 return _localctx;
7568 }
7569
7570 public static class ConvertFunctionContext extends ParserRuleContext {
7571 public TerminalNode CONVERT() { return getToken(SQLServerStatementParser.CONVERT, 0); }
7572 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7573 public DataTypeContext dataType() {
7574 return getRuleContext(DataTypeContext.class,0);
7575 }
7576 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7577 public TerminalNode COMMA_(int i) {
7578 return getToken(SQLServerStatementParser.COMMA_, i);
7579 }
7580 public ExprContext expr() {
7581 return getRuleContext(ExprContext.class,0);
7582 }
7583 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7584 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
7585 public ConvertFunctionContext(ParserRuleContext parent, int invokingState) {
7586 super(parent, invokingState);
7587 }
7588 @Override public int getRuleIndex() { return RULE_convertFunction; }
7589 @Override
7590 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7591 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConvertFunction(this);
7592 else return visitor.visitChildren(this);
7593 }
7594 }
7595
7596 public final ConvertFunctionContext convertFunction() throws RecognitionException {
7597 ConvertFunctionContext _localctx = new ConvertFunctionContext(_ctx, getState());
7598 enterRule(_localctx, 128, RULE_convertFunction);
7599 int _la;
7600 try {
7601 enterOuterAlt(_localctx, 1);
7602 {
7603 setState(1520);
7604 match(CONVERT);
7605 setState(1521);
7606 match(LP_);
7607 setState(1522);
7608 dataType();
7609 setState(1523);
7610 match(COMMA_);
7611 setState(1524);
7612 expr(0);
7613 setState(1527);
7614 _errHandler.sync(this);
7615 _la = _input.LA(1);
7616 if (_la==COMMA_) {
7617 {
7618 setState(1525);
7619 match(COMMA_);
7620 setState(1526);
7621 match(NUMBER_);
7622 }
7623 }
7624
7625 setState(1529);
7626 match(RP_);
7627 }
7628 }
7629 catch (RecognitionException re) {
7630 _localctx.exception = re;
7631 _errHandler.reportError(this, re);
7632 _errHandler.recover(this, re);
7633 }
7634 finally {
7635 exitRule();
7636 }
7637 return _localctx;
7638 }
7639
7640 public static class CharFunctionContext extends ParserRuleContext {
7641 public TerminalNode CHAR() { return getToken(SQLServerStatementParser.CHAR, 0); }
7642 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7643 public List<ExprContext> expr() {
7644 return getRuleContexts(ExprContext.class);
7645 }
7646 public ExprContext expr(int i) {
7647 return getRuleContext(ExprContext.class,i);
7648 }
7649 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7650 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7651 public TerminalNode COMMA_(int i) {
7652 return getToken(SQLServerStatementParser.COMMA_, i);
7653 }
7654 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
7655 public IgnoredIdentifierContext ignoredIdentifier() {
7656 return getRuleContext(IgnoredIdentifierContext.class,0);
7657 }
7658 public CharFunctionContext(ParserRuleContext parent, int invokingState) {
7659 super(parent, invokingState);
7660 }
7661 @Override public int getRuleIndex() { return RULE_charFunction; }
7662 @Override
7663 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7664 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCharFunction(this);
7665 else return visitor.visitChildren(this);
7666 }
7667 }
7668
7669 public final CharFunctionContext charFunction() throws RecognitionException {
7670 CharFunctionContext _localctx = new CharFunctionContext(_ctx, getState());
7671 enterRule(_localctx, 130, RULE_charFunction);
7672 int _la;
7673 try {
7674 enterOuterAlt(_localctx, 1);
7675 {
7676 setState(1531);
7677 match(CHAR);
7678 setState(1532);
7679 match(LP_);
7680 setState(1533);
7681 expr(0);
7682 setState(1538);
7683 _errHandler.sync(this);
7684 _la = _input.LA(1);
7685 while (_la==COMMA_) {
7686 {
7687 {
7688 setState(1534);
7689 match(COMMA_);
7690 setState(1535);
7691 expr(0);
7692 }
7693 }
7694 setState(1540);
7695 _errHandler.sync(this);
7696 _la = _input.LA(1);
7697 }
7698 setState(1543);
7699 _errHandler.sync(this);
7700 _la = _input.LA(1);
7701 if (_la==USING) {
7702 {
7703 setState(1541);
7704 match(USING);
7705 setState(1542);
7706 ignoredIdentifier();
7707 }
7708 }
7709
7710 setState(1545);
7711 match(RP_);
7712 }
7713 }
7714 catch (RecognitionException re) {
7715 _localctx.exception = re;
7716 _errHandler.reportError(this, re);
7717 _errHandler.recover(this, re);
7718 }
7719 finally {
7720 exitRule();
7721 }
7722 return _localctx;
7723 }
7724
7725 public static class RegularFunctionContext extends ParserRuleContext {
7726 public RegularFunctionNameContext regularFunctionName() {
7727 return getRuleContext(RegularFunctionNameContext.class,0);
7728 }
7729 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
7730 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
7731 public List<ExprContext> expr() {
7732 return getRuleContexts(ExprContext.class);
7733 }
7734 public ExprContext expr(int i) {
7735 return getRuleContext(ExprContext.class,i);
7736 }
7737 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
7738 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
7739 public TerminalNode COMMA_(int i) {
7740 return getToken(SQLServerStatementParser.COMMA_, i);
7741 }
7742 public RegularFunctionContext(ParserRuleContext parent, int invokingState) {
7743 super(parent, invokingState);
7744 }
7745 @Override public int getRuleIndex() { return RULE_regularFunction; }
7746 @Override
7747 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
7748 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularFunction(this);
7749 else return visitor.visitChildren(this);
7750 }
7751 }
7752
7753 public final RegularFunctionContext regularFunction() throws RecognitionException {
7754 RegularFunctionContext _localctx = new RegularFunctionContext(_ctx, getState());
7755 enterRule(_localctx, 132, RULE_regularFunction);
7756 int _la;
7757 try {
7758 enterOuterAlt(_localctx, 1);
7759 {
7760 setState(1547);
7761 regularFunctionName();
7762 setState(1548);
7763 match(LP_);
7764 setState(1558);
7765 _errHandler.sync(this);
7766 switch (_input.LA(1)) {
7767 case NOT_:
7768 case TILDE_:
7769 case PLUS_:
7770 case MINUS_:
7771 case LP_:
7772 case LBE_:
7773 case QUESTION_:
7774 case DOLLAR_:
7775 case TRUNCATE:
7776 case SCHEMA:
7777 case FUNCTION:
7778 case TRIGGER:
7779 case CASE:
7780 case CAST:
7781 case IF:
7782 case NOT:
7783 case NULL:
7784 case TRUE:
7785 case FALSE:
7786 case EXISTS:
7787 case GROUP:
7788 case LIMIT:
7789 case OFFSET:
7790 case SAVEPOINT:
7791 case BOOLEAN:
7792 case CHAR:
7793 case ARRAY:
7794 case INTERVAL:
7795 case DATE:
7796 case TIME:
7797 case TIMESTAMP:
7798 case LOCALTIME:
7799 case LOCALTIMESTAMP:
7800 case QUARTER:
7801 case WEEK:
7802 case DAY:
7803 case MICROSECOND:
7804 case MAX:
7805 case MIN:
7806 case SUM:
7807 case COUNT:
7808 case AVG:
7809 case ENABLE:
7810 case DISABLE:
7811 case INSTANCE:
7812 case DO:
7813 case DEFINER:
7814 case SQL:
7815 case CASCADED:
7816 case LOCAL:
7817 case NEXT:
7818 case NAME:
7819 case INTEGER:
7820 case TYPE:
7821 case READ_ONLY:
7822 case DATABASE:
7823 case DATEPART:
7824 case PASSWORD:
7825 case BINARY:
7826 case HIDDEN_:
7827 case MOD:
7828 case PARTITION:
7829 case PARTITIONS:
7830 case TOP:
7831 case ROW:
7832 case ROWS:
7833 case XOR:
7834 case ALWAYS:
7835 case ROLE:
7836 case START:
7837 case ALGORITHM:
7838 case AUTO:
7839 case BLOCKERS:
7840 case CLUSTERED:
7841 case NONCLUSTERED:
7842 case COLUMNSTORE:
7843 case CONTENT:
7844 case CONVERT:
7845 case YEARS:
7846 case MONTHS:
7847 case WEEKS:
7848 case DAYS:
7849 case MINUTES:
7850 case DENY:
7851 case DETERMINISTIC:
7852 case DISTRIBUTION:
7853 case DOCUMENT:
7854 case DURABILITY:
7855 case ENCRYPTED:
7856 case FILESTREAM:
7857 case FILETABLE:
7858 case FILLFACTOR:
7859 case FOLLOWING:
7860 case HASH:
7861 case HEAP:
7862 case INBOUND:
7863 case OUTBOUND:
7864 case UNBOUNDED:
7865 case INFINITE:
7866 case LOGIN:
7867 case MASKED:
7868 case MAXDOP:
7869 case MOVE:
7870 case NOCHECK:
7871 case OBJECT:
7872 case OFF:
7873 case ONLINE:
7874 case OVER:
7875 case PAGE:
7876 case PAUSED:
7877 case PERIOD:
7878 case PERSISTED:
7879 case PRECEDING:
7880 case RANDOMIZED:
7881 case RANGE:
7882 case REBUILD:
7883 case REPLICATE:
7884 case REPLICATION:
7885 case RESUMABLE:
7886 case ROWGUIDCOL:
7887 case SAVE:
7888 case SELF:
7889 case SPARSE:
7890 case SWITCH:
7891 case TRAN:
7892 case TRANCOUNT:
7893 case CONTROL:
7894 case CONCAT:
7895 case TAKE:
7896 case OWNERSHIP:
7897 case DEFINITION:
7898 case APPLICATION:
7899 case ASSEMBLY:
7900 case SYMMETRIC:
7901 case ASYMMETRIC:
7902 case SERVER:
7903 case RECEIVE:
7904 case CHANGE:
7905 case TRACE:
7906 case TRACKING:
7907 case RESOURCES:
7908 case SETTINGS:
7909 case STATE:
7910 case AVAILABILITY:
7911 case CREDENTIAL:
7912 case ENDPOINT:
7913 case EVENT:
7914 case NOTIFICATION:
7915 case LINKED:
7916 case AUDIT:
7917 case DDL:
7918 case XML:
7919 case IMPERSONATE:
7920 case SECURABLES:
7921 case AUTHENTICATE:
7922 case EXTERNAL:
7923 case ACCESS:
7924 case ADMINISTER:
7925 case BULK:
7926 case OPERATIONS:
7927 case UNSAFE:
7928 case SHUTDOWN:
7929 case SCOPED:
7930 case CONFIGURATION:
7931 case DATASPACE:
7932 case SERVICE:
7933 case CERTIFICATE:
7934 case CONTRACT:
7935 case ENCRYPTION:
7936 case MASTER:
7937 case DATA:
7938 case SOURCE:
7939 case FILE:
7940 case FORMAT:
7941 case LIBRARY:
7942 case FULLTEXT:
7943 case MASK:
7944 case UNMASK:
7945 case MESSAGE:
7946 case REMOTE:
7947 case BINDING:
7948 case ROUTE:
7949 case SECURITY:
7950 case POLICY:
7951 case AGGREGATE:
7952 case QUEUE:
7953 case RULE:
7954 case SYNONYM:
7955 case COLLECTION:
7956 case SCRIPT:
7957 case KILL:
7958 case BACKUP:
7959 case LOG:
7960 case SHOWPLAN:
7961 case SUBSCRIBE:
7962 case QUERY:
7963 case NOTIFICATIONS:
7964 case CHECKPOINT:
7965 case SEQUENCE:
7966 case ABORT_AFTER_WAIT:
7967 case ALLOW_PAGE_LOCKS:
7968 case ALLOW_ROW_LOCKS:
7969 case ALL_SPARSE_COLUMNS:
7970 case BUCKET_COUNT:
7971 case COLUMNSTORE_ARCHIVE:
7972 case COLUMN_ENCRYPTION_KEY:
7973 case COLUMN_SET:
7974 case COMPRESSION_DELAY:
7975 case DATABASE_DEAULT:
7976 case DATA_COMPRESSION:
7977 case DATA_CONSISTENCY_CHECK:
7978 case ENCRYPTION_TYPE:
7979 case SYSTEM_TIME:
7980 case SYSTEM_VERSIONING:
7981 case TEXTIMAGE_ON:
7982 case WAIT_AT_LOW_PRIORITY:
7983 case STATISTICS_INCREMENTAL:
7984 case STATISTICS_NORECOMPUTE:
7985 case ROUND_ROBIN:
7986 case SCHEMA_AND_DATA:
7987 case SCHEMA_ONLY:
7988 case SORT_IN_TEMPDB:
7989 case IGNORE_DUP_KEY:
7990 case IMPLICIT_TRANSACTIONS:
7991 case MAX_DURATION:
7992 case MEMORY_OPTIMIZED:
7993 case MIGRATION_STATE:
7994 case PAD_INDEX:
7995 case REMOTE_DATA_ARCHIVE:
7996 case FILESTREAM_ON:
7997 case FILETABLE_COLLATE_FILENAME:
7998 case FILETABLE_DIRECTORY:
7999 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
8000 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
8001 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
8002 case FILTER_PREDICATE:
8003 case HISTORY_RETENTION_PERIOD:
8004 case HISTORY_TABLE:
8005 case LOCK_ESCALATION:
8006 case DROP_EXISTING:
8007 case ROW_NUMBER:
8008 case FIRST:
8009 case DATETIME2:
8010 case OUTPUT:
8011 case INSERTED:
8012 case DELETED:
8013 case FILENAME:
8014 case MAXSIZE:
8015 case FILEGROWTH:
8016 case UNLIMITED:
8017 case KB:
8018 case MB:
8019 case GB:
8020 case TB:
8021 case MEMORY_OPTIMIZED_DATA:
8022 case FILEGROUP:
8023 case NON_TRANSACTED_ACCESS:
8024 case DB_CHAINING:
8025 case TRUSTWORTHY:
8026 case FORWARD_ONLY:
8027 case KEYSET:
8028 case FAST_FORWARD:
8029 case SCROLL_LOCKS:
8030 case OPTIMISTIC:
8031 case TYPE_WARNING:
8032 case SCHEMABINDING:
8033 case CALLER:
8034 case OWNER:
8035 case SNAPSHOT:
8036 case REPEATABLE:
8037 case SERIALIZABLE:
8038 case NATIVE_COMPILATION:
8039 case VIEW_METADATA:
8040 case INSTEAD:
8041 case APPEND:
8042 case INCREMENT:
8043 case CACHE:
8044 case MINVALUE:
8045 case MAXVALUE:
8046 case RESTART:
8047 case LOB_COMPACTION:
8048 case COMPRESS_ALL_ROW_GROUPS:
8049 case REORGANIZE:
8050 case RESUME:
8051 case PAUSE:
8052 case ABORT:
8053 case ACCELERATED_DATABASE_RECOVERY:
8054 case PERSISTENT_VERSION_STORE_FILEGROUP:
8055 case IMMEDIATE:
8056 case NO_WAIT:
8057 case TARGET_RECOVERY_TIME:
8058 case SECONDS:
8059 case HONOR_BROKER_PRIORITY:
8060 case ERROR_BROKER_CONVERSATIONS:
8061 case NEW_BROKER:
8062 case DISABLE_BROKER:
8063 case ENABLE_BROKER:
8064 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
8065 case READ_COMMITTED_SNAPSHOT:
8066 case ALLOW_SNAPSHOT_ISOLATION:
8067 case RECURSIVE_TRIGGERS:
8068 case QUOTED_IDENTIFIER:
8069 case NUMERIC_ROUNDABORT:
8070 case CONCAT_NULL_YIELDS_NULL:
8071 case COMPATIBILITY_LEVEL:
8072 case ARITHABORT:
8073 case ANSI_WARNINGS:
8074 case ANSI_PADDING:
8075 case ANSI_NULLS:
8076 case ANSI_NULL_DEFAULT:
8077 case PAGE_VERIFY:
8078 case CHECKSUM:
8079 case TORN_PAGE_DETECTION:
8080 case BULK_LOGGED:
8081 case RECOVERY:
8082 case TOTAL_EXECUTION_CPU_TIME_MS:
8083 case TOTAL_COMPILE_CPU_TIME_MS:
8084 case STALE_CAPTURE_POLICY_THRESHOLD:
8085 case EXECUTION_COUNT:
8086 case QUERY_CAPTURE_POLICY:
8087 case WAIT_STATS_CAPTURE_MODE:
8088 case MAX_PLANS_PER_QUERY:
8089 case QUERY_CAPTURE_MODE:
8090 case SIZE_BASED_CLEANUP_MODE:
8091 case INTERVAL_LENGTH_MINUTES:
8092 case MAX_STORAGE_SIZE_MB:
8093 case DATA_FLUSH_INTERVAL_SECONDS:
8094 case CLEANUP_POLICY:
8095 case CUSTOM:
8096 case STALE_QUERY_THRESHOLD_DAYS:
8097 case OPERATION_MODE:
8098 case QUERY_STORE:
8099 case CURSOR_DEFAULT:
8100 case GLOBAL:
8101 case CURSOR_CLOSE_ON_COMMIT:
8102 case HOURS:
8103 case CHANGE_RETENTION:
8104 case AUTO_CLEANUP:
8105 case CHANGE_TRACKING:
8106 case AUTOMATIC_TUNING:
8107 case FORCE_LAST_GOOD_PLAN:
8108 case AUTO_UPDATE_STATISTICS_ASYNC:
8109 case AUTO_UPDATE_STATISTICS:
8110 case AUTO_SHRINK:
8111 case AUTO_CREATE_STATISTICS:
8112 case INCREMENTAL:
8113 case AUTO_CLOSE:
8114 case DATA_RETENTION:
8115 case TEMPORAL_HISTORY_RETENTION:
8116 case EDITION:
8117 case MIXED_PAGE_ALLOCATION:
8118 case DISABLED:
8119 case ALLOWED:
8120 case HADR:
8121 case MULTI_USER:
8122 case RESTRICTED_USER:
8123 case SINGLE_USER:
8124 case OFFLINE:
8125 case EMERGENCY:
8126 case SUSPEND:
8127 case DATE_CORRELATION_OPTIMIZATION:
8128 case ELASTIC_POOL:
8129 case SERVICE_OBJECTIVE:
8130 case DATABASE_NAME:
8131 case ALLOW_CONNECTIONS:
8132 case GEO:
8133 case NAMED:
8134 case DATEFIRST:
8135 case BACKUP_STORAGE_REDUNDANCY:
8136 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
8137 case SECONDARY:
8138 case FAILOVER:
8139 case DEFAULT_FULLTEXT_LANGUAGE:
8140 case DEFAULT_LANGUAGE:
8141 case INLINE:
8142 case NESTED_TRIGGERS:
8143 case TRANSFORM_NOISE_WORDS:
8144 case TWO_DIGIT_YEAR_CUTOFF:
8145 case PERSISTENT_LOG_BUFFER:
8146 case DIRECTORY_NAME:
8147 case DATEFORMAT:
8148 case DELAYED_DURABILITY:
8149 case AUTHORIZATION:
8150 case TRANSFER:
8151 case SEARCH:
8152 case MEMBER:
8153 case IDENTIFIER_:
8154 case DELIMITED_IDENTIFIER_:
8155 case STRING_:
8156 case NUMBER_:
8157 case HEX_DIGIT_:
8158 case BIT_NUM_:
8159 case NCHAR_TEXT:
8160 {
8161 setState(1549);
8162 expr(0);
8163 setState(1554);
8164 _errHandler.sync(this);
8165 _la = _input.LA(1);
8166 while (_la==COMMA_) {
8167 {
8168 {
8169 setState(1550);
8170 match(COMMA_);
8171 setState(1551);
8172 expr(0);
8173 }
8174 }
8175 setState(1556);
8176 _errHandler.sync(this);
8177 _la = _input.LA(1);
8178 }
8179 }
8180 break;
8181 case ASTERISK_:
8182 {
8183 setState(1557);
8184 match(ASTERISK_);
8185 }
8186 break;
8187 case RP_:
8188 break;
8189 default:
8190 break;
8191 }
8192 setState(1560);
8193 match(RP_);
8194 }
8195 }
8196 catch (RecognitionException re) {
8197 _localctx.exception = re;
8198 _errHandler.reportError(this, re);
8199 _errHandler.recover(this, re);
8200 }
8201 finally {
8202 exitRule();
8203 }
8204 return _localctx;
8205 }
8206
8207 public static class RegularFunctionNameContext extends ParserRuleContext {
8208 public IdentifierContext identifier() {
8209 return getRuleContext(IdentifierContext.class,0);
8210 }
8211 public OwnerContext owner() {
8212 return getRuleContext(OwnerContext.class,0);
8213 }
8214 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
8215 public TerminalNode IF() { return getToken(SQLServerStatementParser.IF, 0); }
8216 public TerminalNode LOCALTIME() { return getToken(SQLServerStatementParser.LOCALTIME, 0); }
8217 public TerminalNode LOCALTIMESTAMP() { return getToken(SQLServerStatementParser.LOCALTIMESTAMP, 0); }
8218 public TerminalNode INTERVAL() { return getToken(SQLServerStatementParser.INTERVAL, 0); }
8219 public RegularFunctionNameContext(ParserRuleContext parent, int invokingState) {
8220 super(parent, invokingState);
8221 }
8222 @Override public int getRuleIndex() { return RULE_regularFunctionName; }
8223 @Override
8224 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8225 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRegularFunctionName(this);
8226 else return visitor.visitChildren(this);
8227 }
8228 }
8229
8230 public final RegularFunctionNameContext regularFunctionName() throws RecognitionException {
8231 RegularFunctionNameContext _localctx = new RegularFunctionNameContext(_ctx, getState());
8232 enterRule(_localctx, 134, RULE_regularFunctionName);
8233 try {
8234 setState(1572);
8235 _errHandler.sync(this);
8236 switch ( getInterpreter().adaptivePredict(_input,72,_ctx) ) {
8237 case 1:
8238 enterOuterAlt(_localctx, 1);
8239 {
8240 setState(1565);
8241 _errHandler.sync(this);
8242 switch ( getInterpreter().adaptivePredict(_input,71,_ctx) ) {
8243 case 1:
8244 {
8245 setState(1562);
8246 owner();
8247 setState(1563);
8248 match(DOT_);
8249 }
8250 break;
8251 }
8252 setState(1567);
8253 identifier();
8254 }
8255 break;
8256 case 2:
8257 enterOuterAlt(_localctx, 2);
8258 {
8259 setState(1568);
8260 match(IF);
8261 }
8262 break;
8263 case 3:
8264 enterOuterAlt(_localctx, 3);
8265 {
8266 setState(1569);
8267 match(LOCALTIME);
8268 }
8269 break;
8270 case 4:
8271 enterOuterAlt(_localctx, 4);
8272 {
8273 setState(1570);
8274 match(LOCALTIMESTAMP);
8275 }
8276 break;
8277 case 5:
8278 enterOuterAlt(_localctx, 5);
8279 {
8280 setState(1571);
8281 match(INTERVAL);
8282 }
8283 break;
8284 }
8285 }
8286 catch (RecognitionException re) {
8287 _localctx.exception = re;
8288 _errHandler.reportError(this, re);
8289 _errHandler.recover(this, re);
8290 }
8291 finally {
8292 exitRule();
8293 }
8294 return _localctx;
8295 }
8296
8297 public static class CaseExpressionContext extends ParserRuleContext {
8298 public TerminalNode CASE() { return getToken(SQLServerStatementParser.CASE, 0); }
8299 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
8300 public SimpleExprContext simpleExpr() {
8301 return getRuleContext(SimpleExprContext.class,0);
8302 }
8303 public List<CaseWhenContext> caseWhen() {
8304 return getRuleContexts(CaseWhenContext.class);
8305 }
8306 public CaseWhenContext caseWhen(int i) {
8307 return getRuleContext(CaseWhenContext.class,i);
8308 }
8309 public CaseElseContext caseElse() {
8310 return getRuleContext(CaseElseContext.class,0);
8311 }
8312 public CaseExpressionContext(ParserRuleContext parent, int invokingState) {
8313 super(parent, invokingState);
8314 }
8315 @Override public int getRuleIndex() { return RULE_caseExpression; }
8316 @Override
8317 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8318 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseExpression(this);
8319 else return visitor.visitChildren(this);
8320 }
8321 }
8322
8323 public final CaseExpressionContext caseExpression() throws RecognitionException {
8324 CaseExpressionContext _localctx = new CaseExpressionContext(_ctx, getState());
8325 enterRule(_localctx, 136, RULE_caseExpression);
8326 int _la;
8327 try {
8328 enterOuterAlt(_localctx, 1);
8329 {
8330 setState(1574);
8331 match(CASE);
8332 setState(1576);
8333 _errHandler.sync(this);
8334 _la = _input.LA(1);
8335 if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << NOT_) | (1L << TILDE_) | (1L << PLUS_) | (1L << MINUS_) | (1L << LP_) | (1L << LBE_) | (1L << QUESTION_) | (1L << DOLLAR_) | (1L << TRUNCATE) | (1L << SCHEMA))) != 0) || ((((_la - 69)) & ~0x3f) == 0 && ((1L << (_la - 69)) & ((1L << (FUNCTION - 69)) | (1L << (TRIGGER - 69)) | (1L << (CASE - 69)) | (1L << (CAST - 69)) | (1L << (IF - 69)) | (1L << (NULL - 69)) | (1L << (TRUE - 69)) | (1L << (FALSE - 69)) | (1L << (EXISTS - 69)) | (1L << (GROUP - 69)) | (1L << (LIMIT - 69)) | (1L << (OFFSET - 69)) | (1L << (SAVEPOINT - 69)) | (1L << (BOOLEAN - 69)) | (1L << (CHAR - 69)) | (1L << (ARRAY - 69)) | (1L << (INTERVAL - 69)))) != 0) || ((((_la - 133)) & ~0x3f) == 0 && ((1L << (_la - 133)) & ((1L << (DATE - 133)) | (1L << (TIME - 133)) | (1L << (TIMESTAMP - 133)) | (1L << (LOCALTIME - 133)) | (1L << (LOCALTIMESTAMP - 133)) | (1L << (QUARTER - 133)) | (1L << (WEEK - 133)) | (1L << (DAY - 133)) | (1L << (MICROSECOND - 133)) | (1L << (MAX - 133)) | (1L << (MIN - 133)) | (1L << (SUM - 133)) | (1L << (COUNT - 133)) | (1L << (AVG - 133)) | (1L << (ENABLE - 133)) | (1L << (DISABLE - 133)) | (1L << (INSTANCE - 133)) | (1L << (DO - 133)) | (1L << (DEFINER - 133)) | (1L << (SQL - 133)) | (1L << (CASCADED - 133)) | (1L << (LOCAL - 133)) | (1L << (NEXT - 133)) | (1L << (NAME - 133)) | (1L << (INTEGER - 133)) | (1L << (TYPE - 133)))) != 0) || ((((_la - 201)) & ~0x3f) == 0 && ((1L << (_la - 201)) & ((1L << (READ_ONLY - 201)) | (1L << (DATABASE - 201)) | (1L << (DATEPART - 201)) | (1L << (PASSWORD - 201)) | (1L << (BINARY - 201)) | (1L << (HIDDEN_ - 201)) | (1L << (MOD - 201)) | (1L << (PARTITION - 201)) | (1L << (PARTITIONS - 201)) | (1L << (TOP - 201)) | (1L << (ROW - 201)) | (1L << (ROWS - 201)) | (1L << (XOR - 201)) | (1L << (ALWAYS - 201)) | (1L << (ROLE - 201)) | (1L << (START - 201)) | (1L << (ALGORITHM - 201)) | (1L << (AUTO - 201)) | (1L << (BLOCKERS - 201)) | (1L << (CLUSTERED - 201)) | (1L << (NONCLUSTERED - 201)) | (1L << (COLUMNSTORE - 201)) | (1L << (CONTENT - 201)) | (1L << (CONVERT - 201)) | (1L << (YEARS - 201)) | (1L << (MONTHS - 201)) | (1L << (WEEKS - 201)) | (1L << (DAYS - 201)) | (1L << (MINUTES - 201)) | (1L << (DENY - 201)) | (1L << (DETERMINISTIC - 201)) | (1L << (DISTRIBUTION - 201)) | (1L << (DOCUMENT - 201)) | (1L << (DURABILITY - 201)) | (1L << (ENCRYPTED - 201)) | (1L << (FILESTREAM - 201)) | (1L << (FILETABLE - 201)) | (1L << (FILLFACTOR - 201)) | (1L << (FOLLOWING - 201)) | (1L << (HASH - 201)) | (1L << (HEAP - 201)))) != 0) || ((((_la - 266)) & ~0x3f) == 0 && ((1L << (_la - 266)) & ((1L << (INBOUND - 266)) | (1L << (OUTBOUND - 266)) | (1L << (UNBOUNDED - 266)) | (1L << (INFINITE - 266)) | (1L << (LOGIN - 266)) | (1L << (MASKED - 266)) | (1L << (MAXDOP - 266)) | (1L << (MOVE - 266)) | (1L << (NOCHECK - 266)) | (1L << (OBJECT - 266)) | (1L << (OFF - 266)) | (1L << (ONLINE - 266)) | (1L << (OVER - 266)) | (1L << (PAGE - 266)) | (1L << (PAUSED - 266)) | (1L << (PERIOD - 266)) | (1L << (PERSISTED - 266)) | (1L << (PRECEDING - 266)) | (1L << (RANDOMIZED - 266)) | (1L << (RANGE - 266)) | (1L << (REBUILD - 266)) | (1L << (REPLICATE - 266)) | (1L << (REPLICATION - 266)) | (1L << (RESUMABLE - 266)) | (1L << (ROWGUIDCOL - 266)) | (1L << (SAVE - 266)) | (1L << (SELF - 266)) | (1L << (SPARSE - 266)) | (1L << (SWITCH - 266)) | (1L << (TRAN - 266)) | (1L << (TRANCOUNT - 266)) | (1L << (CONTROL - 266)) | (1L << (CONCAT - 266)) | (1L << (TAKE - 266)) | (1L << (OWNERSHIP - 266)) | (1L << (DEFINITION - 266)) | (1L << (APPLICATION - 266)) | (1L << (ASSEMBLY - 266)) | (1L << (SYMMETRIC - 266)) | (1L << (ASYMMETRIC - 266)) | (1L << (SERVER - 266)) | (1L << (RECEIVE - 266)) | (1L << (CHANGE - 266)) | (1L << (TRACE - 266)) | (1L << (TRACKING - 266)) | (1L << (RESOURCES - 266)) | (1L << (SETTINGS - 266)) | (1L << (STATE - 266)) | (1L << (AVAILABILITY - 266)) | (1L << (CREDENTIAL - 266)) | (1L << (ENDPOINT - 266)) | (1L << (EVENT - 266)) | (1L << (NOTIFICATION - 266)) | (1L << (LINKED - 266)) | (1L << (AUDIT - 266)) | (1L << (DDL - 266)))) != 0) || ((((_la - 330)) & ~0x3f) == 0 && ((1L << (_la - 330)) & ((1L << (XML - 330)) | (1L << (IMPERSONATE - 330)) | (1L << (SECURABLES - 330)) | (1L << (AUTHENTICATE - 330)) | (1L << (EXTERNAL - 330)) | (1L << (ACCESS - 330)) | (1L << (ADMINISTER - 330)) | (1L << (BULK - 330)) | (1L << (OPERATIONS - 330)) | (1L << (UNSAFE - 330)) | (1L << (SHUTDOWN - 330)) | (1L << (SCOPED - 330)) | (1L << (CONFIGURATION - 330)) | (1L << (DATASPACE - 330)) | (1L << (SERVICE - 330)) | (1L << (CERTIFICATE - 330)) | (1L << (CONTRACT - 330)) | (1L << (ENCRYPTION - 330)) | (1L << (MASTER - 330)) | (1L << (DATA - 330)) | (1L << (SOURCE - 330)) | (1L << (FILE - 330)) | (1L << (FORMAT - 330)) | (1L << (LIBRARY - 330)) | (1L << (FULLTEXT - 330)) | (1L << (MASK - 330)) | (1L << (UNMASK - 330)) | (1L << (MESSAGE - 330)) | (1L << (REMOTE - 330)) | (1L << (BINDING - 330)) | (1L << (ROUTE - 330)) | (1L << (SECURITY - 330)) | (1L << (POLICY - 330)) | (1L << (AGGREGATE - 330)) | (1L << (QUEUE - 330)) | (1L << (RULE - 330)) | (1L << (SYNONYM - 330)) | (1L << (COLLECTION - 330)) | (1L << (SCRIPT - 330)) | (1L << (KILL - 330)) | (1L << (BACKUP - 330)) | (1L << (LOG - 330)) | (1L << (SHOWPLAN - 330)) | (1L << (SUBSCRIBE - 330)) | (1L << (QUERY - 330)) | (1L << (NOTIFICATIONS - 330)) | (1L << (CHECKPOINT - 330)) | (1L << (SEQUENCE - 330)) | (1L << (ABORT_AFTER_WAIT - 330)) | (1L << (ALLOW_PAGE_LOCKS - 330)) | (1L << (ALLOW_ROW_LOCKS - 330)) | (1L << (ALL_SPARSE_COLUMNS - 330)) | (1L << (BUCKET_COUNT - 330)) | (1L << (COLUMNSTORE_ARCHIVE - 330)) | (1L << (COLUMN_ENCRYPTION_KEY - 330)) | (1L << (COLUMN_SET - 330)) | (1L << (COMPRESSION_DELAY - 330)) | (1L << (DATABASE_DEAULT - 330)) | (1L << (DATA_COMPRESSION - 330)) | (1L << (DATA_CONSISTENCY_CHECK - 330)) | (1L << (ENCRYPTION_TYPE - 330)) | (1L << (SYSTEM_TIME - 330)) | (1L << (SYSTEM_VERSIONING - 330)) | (1L << (TEXTIMAGE_ON - 330)))) != 0) || ((((_la - 394)) & ~0x3f) == 0 && ((1L << (_la - 394)) & ((1L << (WAIT_AT_LOW_PRIORITY - 394)) | (1L << (STATISTICS_INCREMENTAL - 394)) | (1L << (STATISTICS_NORECOMPUTE - 394)) | (1L << (ROUND_ROBIN - 394)) | (1L << (SCHEMA_AND_DATA - 394)) | (1L << (SCHEMA_ONLY - 394)) | (1L << (SORT_IN_TEMPDB - 394)) | (1L << (IGNORE_DUP_KEY - 394)) | (1L << (IMPLICIT_TRANSACTIONS - 394)) | (1L << (MAX_DURATION - 394)) | (1L << (MEMORY_OPTIMIZED - 394)) | (1L << (MIGRATION_STATE - 394)) | (1L << (PAD_INDEX - 394)) | (1L << (REMOTE_DATA_ARCHIVE - 394)) | (1L << (FILESTREAM_ON - 394)) | (1L << (FILETABLE_COLLATE_FILENAME - 394)) | (1L << (FILETABLE_DIRECTORY - 394)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILTER_PREDICATE - 394)) | (1L << (HISTORY_RETENTION_PERIOD - 394)) | (1L << (HISTORY_TABLE - 394)) | (1L << (LOCK_ESCALATION - 394)) | (1L << (DROP_EXISTING - 394)) | (1L << (ROW_NUMBER - 394)) | (1L << (FIRST - 394)) | (1L << (DATETIME2 - 394)) | (1L << (OUTPUT - 394)) | (1L << (INSERTED - 394)) | (1L << (DELETED - 394)))) != 0) || ((((_la - 478)) & ~0x3f) == 0 && ((1L << (_la - 478)) & ((1L << (FILENAME - 478)) | (1L << (MAXSIZE - 478)) | (1L << (FILEGROWTH - 478)) | (1L << (UNLIMITED - 478)) | (1L << (KB - 478)) | (1L << (MB - 478)) | (1L << (GB - 478)) | (1L << (TB - 478)) | (1L << (MEMORY_OPTIMIZED_DATA - 478)) | (1L << (FILEGROUP - 478)) | (1L << (NON_TRANSACTED_ACCESS - 478)) | (1L << (DB_CHAINING - 478)) | (1L << (TRUSTWORTHY - 478)) | (1L << (FORWARD_ONLY - 478)) | (1L << (KEYSET - 478)) | (1L << (FAST_FORWARD - 478)) | (1L << (SCROLL_LOCKS - 478)) | (1L << (OPTIMISTIC - 478)) | (1L << (TYPE_WARNING - 478)) | (1L << (SCHEMABINDING - 478)) | (1L << (CALLER - 478)) | (1L << (OWNER - 478)) | (1L << (SNAPSHOT - 478)) | (1L << (REPEATABLE - 478)) | (1L << (SERIALIZABLE - 478)) | (1L << (NATIVE_COMPILATION - 478)) | (1L << (VIEW_METADATA - 478)) | (1L << (INSTEAD - 478)) | (1L << (APPEND - 478)) | (1L << (INCREMENT - 478)) | (1L << (CACHE - 478)) | (1L << (MINVALUE - 478)) | (1L << (MAXVALUE - 478)) | (1L << (RESTART - 478)) | (1L << (LOB_COMPACTION - 478)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 478)) | (1L << (REORGANIZE - 478)) | (1L << (RESUME - 478)) | (1L << (PAUSE - 478)) | (1L << (ABORT - 478)))) != 0) || ((((_la - 544)) & ~0x3f) == 0 && ((1L << (_la - 544)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 544)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 544)) | (1L << (IMMEDIATE - 544)) | (1L << (NO_WAIT - 544)) | (1L << (TARGET_RECOVERY_TIME - 544)) | (1L << (SECONDS - 544)) | (1L << (HONOR_BROKER_PRIORITY - 544)) | (1L << (ERROR_BROKER_CONVERSATIONS - 544)) | (1L << (NEW_BROKER - 544)) | (1L << (DISABLE_BROKER - 544)) | (1L << (ENABLE_BROKER - 544)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 544)) | (1L << (READ_COMMITTED_SNAPSHOT - 544)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 544)) | (1L << (RECURSIVE_TRIGGERS - 544)) | (1L << (QUOTED_IDENTIFIER - 544)) | (1L << (NUMERIC_ROUNDABORT - 544)) | (1L << (CONCAT_NULL_YIELDS_NULL - 544)) | (1L << (COMPATIBILITY_LEVEL - 544)) | (1L << (ARITHABORT - 544)) | (1L << (ANSI_WARNINGS - 544)) | (1L << (ANSI_PADDING - 544)) | (1L << (ANSI_NULLS - 544)) | (1L << (ANSI_NULL_DEFAULT - 544)) | (1L << (PAGE_VERIFY - 544)) | (1L << (CHECKSUM - 544)) | (1L << (TORN_PAGE_DETECTION - 544)) | (1L << (BULK_LOGGED - 544)) | (1L << (RECOVERY - 544)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 544)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 544)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 544)) | (1L << (EXECUTION_COUNT - 544)) | (1L << (QUERY_CAPTURE_POLICY - 544)) | (1L << (WAIT_STATS_CAPTURE_MODE - 544)) | (1L << (MAX_PLANS_PER_QUERY - 544)) | (1L << (QUERY_CAPTURE_MODE - 544)) | (1L << (SIZE_BASED_CLEANUP_MODE - 544)) | (1L << (INTERVAL_LENGTH_MINUTES - 544)) | (1L << (MAX_STORAGE_SIZE_MB - 544)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 544)) | (1L << (CLEANUP_POLICY - 544)) | (1L << (CUSTOM - 544)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 544)) | (1L << (OPERATION_MODE - 544)) | (1L << (QUERY_STORE - 544)) | (1L << (CURSOR_DEFAULT - 544)) | (1L << (GLOBAL - 544)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 544)) | (1L << (HOURS - 544)) | (1L << (CHANGE_RETENTION - 544)) | (1L << (AUTO_CLEANUP - 544)) | (1L << (CHANGE_TRACKING - 544)) | (1L << (AUTOMATIC_TUNING - 544)) | (1L << (FORCE_LAST_GOOD_PLAN - 544)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 544)) | (1L << (AUTO_UPDATE_STATISTICS - 544)) | (1L << (AUTO_SHRINK - 544)) | (1L << (AUTO_CREATE_STATISTICS - 544)) | (1L << (INCREMENTAL - 544)) | (1L << (AUTO_CLOSE - 544)) | (1L << (DATA_RETENTION - 544)) | (1L << (TEMPORAL_HISTORY_RETENTION - 544)) | (1L << (EDITION - 544)))) != 0) || ((((_la - 608)) & ~0x3f) == 0 && ((1L << (_la - 608)) & ((1L << (MIXED_PAGE_ALLOCATION - 608)) | (1L << (DISABLED - 608)) | (1L << (ALLOWED - 608)) | (1L << (HADR - 608)) | (1L << (MULTI_USER - 608)) | (1L << (RESTRICTED_USER - 608)) | (1L << (SINGLE_USER - 608)) | (1L << (OFFLINE - 608)) | (1L << (EMERGENCY - 608)) | (1L << (SUSPEND - 608)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 608)) | (1L << (ELASTIC_POOL - 608)) | (1L << (SERVICE_OBJECTIVE - 608)) | (1L << (DATABASE_NAME - 608)) | (1L << (ALLOW_CONNECTIONS - 608)) | (1L << (GEO - 608)) | (1L << (NAMED - 608)) | (1L << (DATEFIRST - 608)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 608)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 608)) | (1L << (SECONDARY - 608)) | (1L << (FAILOVER - 608)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 608)) | (1L << (DEFAULT_LANGUAGE - 608)) | (1L << (INLINE - 608)) | (1L << (NESTED_TRIGGERS - 608)) | (1L << (TRANSFORM_NOISE_WORDS - 608)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 608)) | (1L << (PERSISTENT_LOG_BUFFER - 608)) | (1L << (DIRECTORY_NAME - 608)) | (1L << (DATEFORMAT - 608)) | (1L << (DELAYED_DURABILITY - 608)) | (1L << (AUTHORIZATION - 608)) | (1L << (TRANSFER - 608)) | (1L << (SEARCH - 608)) | (1L << (MEMBER - 608)))) != 0) || ((((_la - 684)) & ~0x3f) == 0 && ((1L << (_la - 684)) & ((1L << (IDENTIFIER_ - 684)) | (1L << (DELIMITED_IDENTIFIER_ - 684)) | (1L << (STRING_ - 684)) | (1L << (NUMBER_ - 684)) | (1L << (HEX_DIGIT_ - 684)) | (1L << (BIT_NUM_ - 684)) | (1L << (NCHAR_TEXT - 684)))) != 0)) {
8336 {
8337 setState(1575);
8338 simpleExpr(0);
8339 }
8340 }
8341
8342 setState(1579);
8343 _errHandler.sync(this);
8344 _la = _input.LA(1);
8345 do {
8346 {
8347 {
8348 setState(1578);
8349 caseWhen();
8350 }
8351 }
8352 setState(1581);
8353 _errHandler.sync(this);
8354 _la = _input.LA(1);
8355 } while ( _la==WHEN );
8356 setState(1584);
8357 _errHandler.sync(this);
8358 _la = _input.LA(1);
8359 if (_la==ELSE) {
8360 {
8361 setState(1583);
8362 caseElse();
8363 }
8364 }
8365
8366 setState(1586);
8367 match(END);
8368 }
8369 }
8370 catch (RecognitionException re) {
8371 _localctx.exception = re;
8372 _errHandler.reportError(this, re);
8373 _errHandler.recover(this, re);
8374 }
8375 finally {
8376 exitRule();
8377 }
8378 return _localctx;
8379 }
8380
8381 public static class CaseWhenContext extends ParserRuleContext {
8382 public TerminalNode WHEN() { return getToken(SQLServerStatementParser.WHEN, 0); }
8383 public List<ExprContext> expr() {
8384 return getRuleContexts(ExprContext.class);
8385 }
8386 public ExprContext expr(int i) {
8387 return getRuleContext(ExprContext.class,i);
8388 }
8389 public TerminalNode THEN() { return getToken(SQLServerStatementParser.THEN, 0); }
8390 public CaseWhenContext(ParserRuleContext parent, int invokingState) {
8391 super(parent, invokingState);
8392 }
8393 @Override public int getRuleIndex() { return RULE_caseWhen; }
8394 @Override
8395 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8396 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseWhen(this);
8397 else return visitor.visitChildren(this);
8398 }
8399 }
8400
8401 public final CaseWhenContext caseWhen() throws RecognitionException {
8402 CaseWhenContext _localctx = new CaseWhenContext(_ctx, getState());
8403 enterRule(_localctx, 138, RULE_caseWhen);
8404 try {
8405 enterOuterAlt(_localctx, 1);
8406 {
8407 setState(1588);
8408 match(WHEN);
8409 setState(1589);
8410 expr(0);
8411 setState(1590);
8412 match(THEN);
8413 setState(1591);
8414 expr(0);
8415 }
8416 }
8417 catch (RecognitionException re) {
8418 _localctx.exception = re;
8419 _errHandler.reportError(this, re);
8420 _errHandler.recover(this, re);
8421 }
8422 finally {
8423 exitRule();
8424 }
8425 return _localctx;
8426 }
8427
8428 public static class CaseElseContext extends ParserRuleContext {
8429 public TerminalNode ELSE() { return getToken(SQLServerStatementParser.ELSE, 0); }
8430 public ExprContext expr() {
8431 return getRuleContext(ExprContext.class,0);
8432 }
8433 public CaseElseContext(ParserRuleContext parent, int invokingState) {
8434 super(parent, invokingState);
8435 }
8436 @Override public int getRuleIndex() { return RULE_caseElse; }
8437 @Override
8438 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8439 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCaseElse(this);
8440 else return visitor.visitChildren(this);
8441 }
8442 }
8443
8444 public final CaseElseContext caseElse() throws RecognitionException {
8445 CaseElseContext _localctx = new CaseElseContext(_ctx, getState());
8446 enterRule(_localctx, 140, RULE_caseElse);
8447 try {
8448 enterOuterAlt(_localctx, 1);
8449 {
8450 setState(1593);
8451 match(ELSE);
8452 setState(1594);
8453 expr(0);
8454 }
8455 }
8456 catch (RecognitionException re) {
8457 _localctx.exception = re;
8458 _errHandler.reportError(this, re);
8459 _errHandler.recover(this, re);
8460 }
8461 finally {
8462 exitRule();
8463 }
8464 return _localctx;
8465 }
8466
8467 public static class PrivateExprOfDbContext extends ParserRuleContext {
8468 public WindowedFunctionContext windowedFunction() {
8469 return getRuleContext(WindowedFunctionContext.class,0);
8470 }
8471 public AtTimeZoneExprContext atTimeZoneExpr() {
8472 return getRuleContext(AtTimeZoneExprContext.class,0);
8473 }
8474 public CastExprContext castExpr() {
8475 return getRuleContext(CastExprContext.class,0);
8476 }
8477 public ConvertExprContext convertExpr() {
8478 return getRuleContext(ConvertExprContext.class,0);
8479 }
8480 public PrivateExprOfDbContext(ParserRuleContext parent, int invokingState) {
8481 super(parent, invokingState);
8482 }
8483 @Override public int getRuleIndex() { return RULE_privateExprOfDb; }
8484 @Override
8485 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8486 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrivateExprOfDb(this);
8487 else return visitor.visitChildren(this);
8488 }
8489 }
8490
8491 public final PrivateExprOfDbContext privateExprOfDb() throws RecognitionException {
8492 PrivateExprOfDbContext _localctx = new PrivateExprOfDbContext(_ctx, getState());
8493 enterRule(_localctx, 142, RULE_privateExprOfDb);
8494 try {
8495 setState(1600);
8496 _errHandler.sync(this);
8497 switch ( getInterpreter().adaptivePredict(_input,76,_ctx) ) {
8498 case 1:
8499 enterOuterAlt(_localctx, 1);
8500 {
8501 setState(1596);
8502 windowedFunction();
8503 }
8504 break;
8505 case 2:
8506 enterOuterAlt(_localctx, 2);
8507 {
8508 setState(1597);
8509 atTimeZoneExpr();
8510 }
8511 break;
8512 case 3:
8513 enterOuterAlt(_localctx, 3);
8514 {
8515 setState(1598);
8516 castExpr();
8517 }
8518 break;
8519 case 4:
8520 enterOuterAlt(_localctx, 4);
8521 {
8522 setState(1599);
8523 convertExpr();
8524 }
8525 break;
8526 }
8527 }
8528 catch (RecognitionException re) {
8529 _localctx.exception = re;
8530 _errHandler.reportError(this, re);
8531 _errHandler.recover(this, re);
8532 }
8533 finally {
8534 exitRule();
8535 }
8536 return _localctx;
8537 }
8538
8539 public static class OrderByClauseContext extends ParserRuleContext {
8540 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
8541 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
8542 public List<OrderByItemContext> orderByItem() {
8543 return getRuleContexts(OrderByItemContext.class);
8544 }
8545 public OrderByItemContext orderByItem(int i) {
8546 return getRuleContext(OrderByItemContext.class,i);
8547 }
8548 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
8549 public TerminalNode COMMA_(int i) {
8550 return getToken(SQLServerStatementParser.COMMA_, i);
8551 }
8552 public TerminalNode OFFSET() { return getToken(SQLServerStatementParser.OFFSET, 0); }
8553 public List<ExprContext> expr() {
8554 return getRuleContexts(ExprContext.class);
8555 }
8556 public ExprContext expr(int i) {
8557 return getRuleContext(ExprContext.class,i);
8558 }
8559 public List<TerminalNode> ROW() { return getTokens(SQLServerStatementParser.ROW); }
8560 public TerminalNode ROW(int i) {
8561 return getToken(SQLServerStatementParser.ROW, i);
8562 }
8563 public List<TerminalNode> ROWS() { return getTokens(SQLServerStatementParser.ROWS); }
8564 public TerminalNode ROWS(int i) {
8565 return getToken(SQLServerStatementParser.ROWS, i);
8566 }
8567 public TerminalNode FETCH() { return getToken(SQLServerStatementParser.FETCH, 0); }
8568 public TerminalNode ONLY() { return getToken(SQLServerStatementParser.ONLY, 0); }
8569 public TerminalNode FIRST() { return getToken(SQLServerStatementParser.FIRST, 0); }
8570 public TerminalNode NEXT() { return getToken(SQLServerStatementParser.NEXT, 0); }
8571 public OrderByClauseContext(ParserRuleContext parent, int invokingState) {
8572 super(parent, invokingState);
8573 }
8574 @Override public int getRuleIndex() { return RULE_orderByClause; }
8575 @Override
8576 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8577 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrderByClause(this);
8578 else return visitor.visitChildren(this);
8579 }
8580 }
8581
8582 public final OrderByClauseContext orderByClause() throws RecognitionException {
8583 OrderByClauseContext _localctx = new OrderByClauseContext(_ctx, getState());
8584 enterRule(_localctx, 144, RULE_orderByClause);
8585 int _la;
8586 try {
8587 enterOuterAlt(_localctx, 1);
8588 {
8589 setState(1602);
8590 match(ORDER);
8591 setState(1603);
8592 match(BY);
8593 setState(1604);
8594 orderByItem();
8595 setState(1609);
8596 _errHandler.sync(this);
8597 _la = _input.LA(1);
8598 while (_la==COMMA_) {
8599 {
8600 {
8601 setState(1605);
8602 match(COMMA_);
8603 setState(1606);
8604 orderByItem();
8605 }
8606 }
8607 setState(1611);
8608 _errHandler.sync(this);
8609 _la = _input.LA(1);
8610 }
8611 setState(1623);
8612 _errHandler.sync(this);
8613 _la = _input.LA(1);
8614 if (_la==OFFSET) {
8615 {
8616 setState(1612);
8617 match(OFFSET);
8618 setState(1613);
8619 expr(0);
8620 setState(1614);
8621 _la = _input.LA(1);
8622 if ( !(_la==ROW || _la==ROWS) ) {
8623 _errHandler.recoverInline(this);
8624 }
8625 else {
8626 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8627 _errHandler.reportMatch(this);
8628 consume();
8629 }
8630 setState(1621);
8631 _errHandler.sync(this);
8632 _la = _input.LA(1);
8633 if (_la==FETCH) {
8634 {
8635 setState(1615);
8636 match(FETCH);
8637 setState(1616);
8638 _la = _input.LA(1);
8639 if ( !(_la==NEXT || _la==FIRST) ) {
8640 _errHandler.recoverInline(this);
8641 }
8642 else {
8643 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8644 _errHandler.reportMatch(this);
8645 consume();
8646 }
8647 setState(1617);
8648 expr(0);
8649 setState(1618);
8650 _la = _input.LA(1);
8651 if ( !(_la==ROW || _la==ROWS) ) {
8652 _errHandler.recoverInline(this);
8653 }
8654 else {
8655 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8656 _errHandler.reportMatch(this);
8657 consume();
8658 }
8659 setState(1619);
8660 match(ONLY);
8661 }
8662 }
8663
8664 }
8665 }
8666
8667 }
8668 }
8669 catch (RecognitionException re) {
8670 _localctx.exception = re;
8671 _errHandler.reportError(this, re);
8672 _errHandler.recover(this, re);
8673 }
8674 finally {
8675 exitRule();
8676 }
8677 return _localctx;
8678 }
8679
8680 public static class OrderByItemContext extends ParserRuleContext {
8681 public ColumnNameContext columnName() {
8682 return getRuleContext(ColumnNameContext.class,0);
8683 }
8684 public NumberLiteralsContext numberLiterals() {
8685 return getRuleContext(NumberLiteralsContext.class,0);
8686 }
8687 public ExprContext expr() {
8688 return getRuleContext(ExprContext.class,0);
8689 }
8690 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
8691 public IdentifierContext identifier() {
8692 return getRuleContext(IdentifierContext.class,0);
8693 }
8694 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
8695 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
8696 public OrderByItemContext(ParserRuleContext parent, int invokingState) {
8697 super(parent, invokingState);
8698 }
8699 @Override public int getRuleIndex() { return RULE_orderByItem; }
8700 @Override
8701 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8702 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOrderByItem(this);
8703 else return visitor.visitChildren(this);
8704 }
8705 }
8706
8707 public final OrderByItemContext orderByItem() throws RecognitionException {
8708 OrderByItemContext _localctx = new OrderByItemContext(_ctx, getState());
8709 enterRule(_localctx, 146, RULE_orderByItem);
8710 int _la;
8711 try {
8712 enterOuterAlt(_localctx, 1);
8713 {
8714 setState(1628);
8715 _errHandler.sync(this);
8716 switch ( getInterpreter().adaptivePredict(_input,80,_ctx) ) {
8717 case 1:
8718 {
8719 setState(1625);
8720 columnName();
8721 }
8722 break;
8723 case 2:
8724 {
8725 setState(1626);
8726 numberLiterals();
8727 }
8728 break;
8729 case 3:
8730 {
8731 setState(1627);
8732 expr(0);
8733 }
8734 break;
8735 }
8736 setState(1632);
8737 _errHandler.sync(this);
8738 _la = _input.LA(1);
8739 if (_la==COLLATE) {
8740 {
8741 setState(1630);
8742 match(COLLATE);
8743 setState(1631);
8744 identifier();
8745 }
8746 }
8747
8748 setState(1635);
8749 _errHandler.sync(this);
8750 _la = _input.LA(1);
8751 if (_la==ASC || _la==DESC) {
8752 {
8753 setState(1634);
8754 _la = _input.LA(1);
8755 if ( !(_la==ASC || _la==DESC) ) {
8756 _errHandler.recoverInline(this);
8757 }
8758 else {
8759 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8760 _errHandler.reportMatch(this);
8761 consume();
8762 }
8763 }
8764 }
8765
8766 }
8767 }
8768 catch (RecognitionException re) {
8769 _localctx.exception = re;
8770 _errHandler.reportError(this, re);
8771 _errHandler.recover(this, re);
8772 }
8773 finally {
8774 exitRule();
8775 }
8776 return _localctx;
8777 }
8778
8779 public static class DataTypeContext extends ParserRuleContext {
8780 public DataTypeNameContext dataTypeName() {
8781 return getRuleContext(DataTypeNameContext.class,0);
8782 }
8783 public List<IgnoredIdentifierContext> ignoredIdentifier() {
8784 return getRuleContexts(IgnoredIdentifierContext.class);
8785 }
8786 public IgnoredIdentifierContext ignoredIdentifier(int i) {
8787 return getRuleContext(IgnoredIdentifierContext.class,i);
8788 }
8789 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
8790 public DataTypeLengthContext dataTypeLength() {
8791 return getRuleContext(DataTypeLengthContext.class,0);
8792 }
8793 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
8794 public TerminalNode MAX() { return getToken(SQLServerStatementParser.MAX, 0); }
8795 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
8796 public TerminalNode CONTENT() { return getToken(SQLServerStatementParser.CONTENT, 0); }
8797 public TerminalNode DOCUMENT() { return getToken(SQLServerStatementParser.DOCUMENT, 0); }
8798 public DataTypeContext(ParserRuleContext parent, int invokingState) {
8799 super(parent, invokingState);
8800 }
8801 @Override public int getRuleIndex() { return RULE_dataType; }
8802 @Override
8803 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8804 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataType(this);
8805 else return visitor.visitChildren(this);
8806 }
8807 }
8808
8809 public final DataTypeContext dataType() throws RecognitionException {
8810 DataTypeContext _localctx = new DataTypeContext(_ctx, getState());
8811 enterRule(_localctx, 148, RULE_dataType);
8812 int _la;
8813 try {
8814 enterOuterAlt(_localctx, 1);
8815 {
8816 setState(1640);
8817 _errHandler.sync(this);
8818 switch ( getInterpreter().adaptivePredict(_input,83,_ctx) ) {
8819 case 1:
8820 {
8821 setState(1637);
8822 ignoredIdentifier();
8823 setState(1638);
8824 match(DOT_);
8825 }
8826 break;
8827 }
8828 setState(1642);
8829 dataTypeName();
8830 setState(1654);
8831 _errHandler.sync(this);
8832 switch ( getInterpreter().adaptivePredict(_input,85,_ctx) ) {
8833 case 1:
8834 {
8835 setState(1643);
8836 dataTypeLength();
8837 }
8838 break;
8839 case 2:
8840 {
8841 setState(1644);
8842 match(LP_);
8843 setState(1645);
8844 match(MAX);
8845 setState(1646);
8846 match(RP_);
8847 }
8848 break;
8849 case 3:
8850 {
8851 setState(1647);
8852 match(LP_);
8853 setState(1649);
8854 _errHandler.sync(this);
8855 _la = _input.LA(1);
8856 if (_la==CONTENT || _la==DOCUMENT) {
8857 {
8858 setState(1648);
8859 _la = _input.LA(1);
8860 if ( !(_la==CONTENT || _la==DOCUMENT) ) {
8861 _errHandler.recoverInline(this);
8862 }
8863 else {
8864 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8865 _errHandler.reportMatch(this);
8866 consume();
8867 }
8868 }
8869 }
8870
8871 setState(1651);
8872 ignoredIdentifier();
8873 setState(1652);
8874 match(RP_);
8875 }
8876 break;
8877 }
8878 }
8879 }
8880 catch (RecognitionException re) {
8881 _localctx.exception = re;
8882 _errHandler.reportError(this, re);
8883 _errHandler.recover(this, re);
8884 }
8885 finally {
8886 exitRule();
8887 }
8888 return _localctx;
8889 }
8890
8891 public static class DataTypeNameContext extends ParserRuleContext {
8892 public TerminalNode BIGINT() { return getToken(SQLServerStatementParser.BIGINT, 0); }
8893 public TerminalNode NUMERIC() { return getToken(SQLServerStatementParser.NUMERIC, 0); }
8894 public TerminalNode BIT() { return getToken(SQLServerStatementParser.BIT, 0); }
8895 public TerminalNode SMALLINT() { return getToken(SQLServerStatementParser.SMALLINT, 0); }
8896 public TerminalNode DECIMAL() { return getToken(SQLServerStatementParser.DECIMAL, 0); }
8897 public TerminalNode SMALLMONEY() { return getToken(SQLServerStatementParser.SMALLMONEY, 0); }
8898 public TerminalNode INT() { return getToken(SQLServerStatementParser.INT, 0); }
8899 public TerminalNode TINYINT() { return getToken(SQLServerStatementParser.TINYINT, 0); }
8900 public TerminalNode MONEY() { return getToken(SQLServerStatementParser.MONEY, 0); }
8901 public TerminalNode FLOAT() { return getToken(SQLServerStatementParser.FLOAT, 0); }
8902 public TerminalNode REAL() { return getToken(SQLServerStatementParser.REAL, 0); }
8903 public TerminalNode DATE() { return getToken(SQLServerStatementParser.DATE, 0); }
8904 public TerminalNode DATETIMEOFFSET() { return getToken(SQLServerStatementParser.DATETIMEOFFSET, 0); }
8905 public TerminalNode SMALLDATETIME() { return getToken(SQLServerStatementParser.SMALLDATETIME, 0); }
8906 public TerminalNode DATETIME() { return getToken(SQLServerStatementParser.DATETIME, 0); }
8907 public TerminalNode DATETIME2() { return getToken(SQLServerStatementParser.DATETIME2, 0); }
8908 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
8909 public TerminalNode CHAR() { return getToken(SQLServerStatementParser.CHAR, 0); }
8910 public TerminalNode VARCHAR() { return getToken(SQLServerStatementParser.VARCHAR, 0); }
8911 public TerminalNode TEXT() { return getToken(SQLServerStatementParser.TEXT, 0); }
8912 public TerminalNode NCHAR() { return getToken(SQLServerStatementParser.NCHAR, 0); }
8913 public TerminalNode NVARCHAR() { return getToken(SQLServerStatementParser.NVARCHAR, 0); }
8914 public TerminalNode NTEXT() { return getToken(SQLServerStatementParser.NTEXT, 0); }
8915 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
8916 public TerminalNode VARBINARY() { return getToken(SQLServerStatementParser.VARBINARY, 0); }
8917 public TerminalNode IMAGE() { return getToken(SQLServerStatementParser.IMAGE, 0); }
8918 public TerminalNode SQL_VARIANT() { return getToken(SQLServerStatementParser.SQL_VARIANT, 0); }
8919 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
8920 public TerminalNode UNIQUEIDENTIFIER() { return getToken(SQLServerStatementParser.UNIQUEIDENTIFIER, 0); }
8921 public TerminalNode HIERARCHYID() { return getToken(SQLServerStatementParser.HIERARCHYID, 0); }
8922 public TerminalNode GEOMETRY() { return getToken(SQLServerStatementParser.GEOMETRY, 0); }
8923 public TerminalNode GEOGRAPHY() { return getToken(SQLServerStatementParser.GEOGRAPHY, 0); }
8924 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
8925 public TerminalNode INTEGER() { return getToken(SQLServerStatementParser.INTEGER, 0); }
8926 public DataTypeNameContext(ParserRuleContext parent, int invokingState) {
8927 super(parent, invokingState);
8928 }
8929 @Override public int getRuleIndex() { return RULE_dataTypeName; }
8930 @Override
8931 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8932 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataTypeName(this);
8933 else return visitor.visitChildren(this);
8934 }
8935 }
8936
8937 public final DataTypeNameContext dataTypeName() throws RecognitionException {
8938 DataTypeNameContext _localctx = new DataTypeNameContext(_ctx, getState());
8939 enterRule(_localctx, 150, RULE_dataTypeName);
8940 int _la;
8941 try {
8942 enterOuterAlt(_localctx, 1);
8943 {
8944 setState(1656);
8945 _la = _input.LA(1);
8946 if ( !(((((_la - 129)) & ~0x3f) == 0 && ((1L << (_la - 129)) & ((1L << (CHAR - 129)) | (1L << (DATE - 129)) | (1L << (TIME - 129)) | (1L << (INTEGER - 129)) | (1L << (REAL - 129)) | (1L << (DECIMAL - 129)) | (1L << (BIT - 129)) | (1L << (SMALLINT - 129)) | (1L << (INT - 129)) | (1L << (TINYINT - 129)) | (1L << (NUMERIC - 129)) | (1L << (FLOAT - 129)) | (1L << (BIGINT - 129)) | (1L << (TEXT - 129)) | (1L << (VARCHAR - 129)))) != 0) || _la==BINARY || _la==XML || ((((_la - 423)) & ~0x3f) == 0 && ((1L << (_la - 423)) & ((1L << (MONEY - 423)) | (1L << (SMALLMONEY - 423)) | (1L << (DATETIMEOFFSET - 423)) | (1L << (DATETIME - 423)) | (1L << (DATETIME2 - 423)) | (1L << (SMALLDATETIME - 423)) | (1L << (NCHAR - 423)) | (1L << (NVARCHAR - 423)) | (1L << (NTEXT - 423)) | (1L << (VARBINARY - 423)) | (1L << (IMAGE - 423)) | (1L << (SQL_VARIANT - 423)) | (1L << (UNIQUEIDENTIFIER - 423)) | (1L << (HIERARCHYID - 423)) | (1L << (GEOMETRY - 423)) | (1L << (GEOGRAPHY - 423)))) != 0) || _la==IDENTIFIER_) ) {
8947 _errHandler.recoverInline(this);
8948 }
8949 else {
8950 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
8951 _errHandler.reportMatch(this);
8952 consume();
8953 }
8954 }
8955 }
8956 catch (RecognitionException re) {
8957 _localctx.exception = re;
8958 _errHandler.reportError(this, re);
8959 _errHandler.recover(this, re);
8960 }
8961 finally {
8962 exitRule();
8963 }
8964 return _localctx;
8965 }
8966
8967 public static class AtTimeZoneExprContext extends ParserRuleContext {
8968 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
8969 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
8970 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
8971 public TerminalNode TIME() { return getToken(SQLServerStatementParser.TIME, 0); }
8972 public TerminalNode ZONE() { return getToken(SQLServerStatementParser.ZONE, 0); }
8973 public AtTimeZoneExprContext(ParserRuleContext parent, int invokingState) {
8974 super(parent, invokingState);
8975 }
8976 @Override public int getRuleIndex() { return RULE_atTimeZoneExpr; }
8977 @Override
8978 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
8979 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAtTimeZoneExpr(this);
8980 else return visitor.visitChildren(this);
8981 }
8982 }
8983
8984 public final AtTimeZoneExprContext atTimeZoneExpr() throws RecognitionException {
8985 AtTimeZoneExprContext _localctx = new AtTimeZoneExprContext(_ctx, getState());
8986 enterRule(_localctx, 152, RULE_atTimeZoneExpr);
8987 int _la;
8988 try {
8989 enterOuterAlt(_localctx, 1);
8990 {
8991 setState(1658);
8992 match(IDENTIFIER_);
8993 setState(1662);
8994 _errHandler.sync(this);
8995 _la = _input.LA(1);
8996 if (_la==WITH) {
8997 {
8998 setState(1659);
8999 match(WITH);
9000 setState(1660);
9001 match(TIME);
9002 setState(1661);
9003 match(ZONE);
9004 }
9005 }
9006
9007 setState(1664);
9008 match(STRING_);
9009 }
9010 }
9011 catch (RecognitionException re) {
9012 _localctx.exception = re;
9013 _errHandler.reportError(this, re);
9014 _errHandler.recover(this, re);
9015 }
9016 finally {
9017 exitRule();
9018 }
9019 return _localctx;
9020 }
9021
9022 public static class CastExprContext extends ParserRuleContext {
9023 public TerminalNode CAST() { return getToken(SQLServerStatementParser.CAST, 0); }
9024 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
9025 public TerminalNode LP_(int i) {
9026 return getToken(SQLServerStatementParser.LP_, i);
9027 }
9028 public ExprContext expr() {
9029 return getRuleContext(ExprContext.class,0);
9030 }
9031 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
9032 public DataTypeContext dataType() {
9033 return getRuleContext(DataTypeContext.class,0);
9034 }
9035 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
9036 public TerminalNode RP_(int i) {
9037 return getToken(SQLServerStatementParser.RP_, i);
9038 }
9039 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
9040 public CastExprContext(ParserRuleContext parent, int invokingState) {
9041 super(parent, invokingState);
9042 }
9043 @Override public int getRuleIndex() { return RULE_castExpr; }
9044 @Override
9045 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9046 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCastExpr(this);
9047 else return visitor.visitChildren(this);
9048 }
9049 }
9050
9051 public final CastExprContext castExpr() throws RecognitionException {
9052 CastExprContext _localctx = new CastExprContext(_ctx, getState());
9053 enterRule(_localctx, 154, RULE_castExpr);
9054 int _la;
9055 try {
9056 enterOuterAlt(_localctx, 1);
9057 {
9058 setState(1666);
9059 match(CAST);
9060 setState(1667);
9061 match(LP_);
9062 setState(1668);
9063 expr(0);
9064 setState(1669);
9065 match(AS);
9066 setState(1670);
9067 dataType();
9068 setState(1674);
9069 _errHandler.sync(this);
9070 _la = _input.LA(1);
9071 if (_la==LP_) {
9072 {
9073 setState(1671);
9074 match(LP_);
9075 setState(1672);
9076 match(NUMBER_);
9077 setState(1673);
9078 match(RP_);
9079 }
9080 }
9081
9082 setState(1676);
9083 match(RP_);
9084 }
9085 }
9086 catch (RecognitionException re) {
9087 _localctx.exception = re;
9088 _errHandler.reportError(this, re);
9089 _errHandler.recover(this, re);
9090 }
9091 finally {
9092 exitRule();
9093 }
9094 return _localctx;
9095 }
9096
9097 public static class ConvertExprContext extends ParserRuleContext {
9098 public TerminalNode CONVERT() { return getToken(SQLServerStatementParser.CONVERT, 0); }
9099 public DataTypeContext dataType() {
9100 return getRuleContext(DataTypeContext.class,0);
9101 }
9102 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
9103 public TerminalNode COMMA_(int i) {
9104 return getToken(SQLServerStatementParser.COMMA_, i);
9105 }
9106 public ExprContext expr() {
9107 return getRuleContext(ExprContext.class,0);
9108 }
9109 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
9110 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
9111 public TerminalNode NUMBER_(int i) {
9112 return getToken(SQLServerStatementParser.NUMBER_, i);
9113 }
9114 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
9115 public ConvertExprContext(ParserRuleContext parent, int invokingState) {
9116 super(parent, invokingState);
9117 }
9118 @Override public int getRuleIndex() { return RULE_convertExpr; }
9119 @Override
9120 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9121 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConvertExpr(this);
9122 else return visitor.visitChildren(this);
9123 }
9124 }
9125
9126 public final ConvertExprContext convertExpr() throws RecognitionException {
9127 ConvertExprContext _localctx = new ConvertExprContext(_ctx, getState());
9128 enterRule(_localctx, 156, RULE_convertExpr);
9129 int _la;
9130 try {
9131 enterOuterAlt(_localctx, 1);
9132 {
9133 setState(1678);
9134 match(CONVERT);
9135 {
9136 setState(1679);
9137 dataType();
9138 setState(1683);
9139 _errHandler.sync(this);
9140 _la = _input.LA(1);
9141 if (_la==LP_) {
9142 {
9143 setState(1680);
9144 match(LP_);
9145 setState(1681);
9146 match(NUMBER_);
9147 setState(1682);
9148 match(RP_);
9149 }
9150 }
9151
9152 setState(1685);
9153 match(COMMA_);
9154 setState(1686);
9155 expr(0);
9156 setState(1689);
9157 _errHandler.sync(this);
9158 switch ( getInterpreter().adaptivePredict(_input,89,_ctx) ) {
9159 case 1:
9160 {
9161 setState(1687);
9162 match(COMMA_);
9163 setState(1688);
9164 match(NUMBER_);
9165 }
9166 break;
9167 }
9168 }
9169 }
9170 }
9171 catch (RecognitionException re) {
9172 _localctx.exception = re;
9173 _errHandler.reportError(this, re);
9174 _errHandler.recover(this, re);
9175 }
9176 finally {
9177 exitRule();
9178 }
9179 return _localctx;
9180 }
9181
9182 public static class WindowedFunctionContext extends ParserRuleContext {
9183 public FunctionCallContext functionCall() {
9184 return getRuleContext(FunctionCallContext.class,0);
9185 }
9186 public OverClauseContext overClause() {
9187 return getRuleContext(OverClauseContext.class,0);
9188 }
9189 public WindowedFunctionContext(ParserRuleContext parent, int invokingState) {
9190 super(parent, invokingState);
9191 }
9192 @Override public int getRuleIndex() { return RULE_windowedFunction; }
9193 @Override
9194 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9195 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowedFunction(this);
9196 else return visitor.visitChildren(this);
9197 }
9198 }
9199
9200 public final WindowedFunctionContext windowedFunction() throws RecognitionException {
9201 WindowedFunctionContext _localctx = new WindowedFunctionContext(_ctx, getState());
9202 enterRule(_localctx, 158, RULE_windowedFunction);
9203 try {
9204 enterOuterAlt(_localctx, 1);
9205 {
9206 setState(1691);
9207 functionCall();
9208 setState(1692);
9209 overClause();
9210 }
9211 }
9212 catch (RecognitionException re) {
9213 _localctx.exception = re;
9214 _errHandler.reportError(this, re);
9215 _errHandler.recover(this, re);
9216 }
9217 finally {
9218 exitRule();
9219 }
9220 return _localctx;
9221 }
9222
9223 public static class OverClauseContext extends ParserRuleContext {
9224 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
9225 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
9226 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
9227 public PartitionByClauseContext partitionByClause() {
9228 return getRuleContext(PartitionByClauseContext.class,0);
9229 }
9230 public OrderByClauseContext orderByClause() {
9231 return getRuleContext(OrderByClauseContext.class,0);
9232 }
9233 public RowRangeClauseContext rowRangeClause() {
9234 return getRuleContext(RowRangeClauseContext.class,0);
9235 }
9236 public OverClauseContext(ParserRuleContext parent, int invokingState) {
9237 super(parent, invokingState);
9238 }
9239 @Override public int getRuleIndex() { return RULE_overClause; }
9240 @Override
9241 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9242 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOverClause(this);
9243 else return visitor.visitChildren(this);
9244 }
9245 }
9246
9247 public final OverClauseContext overClause() throws RecognitionException {
9248 OverClauseContext _localctx = new OverClauseContext(_ctx, getState());
9249 enterRule(_localctx, 160, RULE_overClause);
9250 int _la;
9251 try {
9252 enterOuterAlt(_localctx, 1);
9253 {
9254 setState(1694);
9255 match(OVER);
9256 setState(1695);
9257 match(LP_);
9258 setState(1697);
9259 _errHandler.sync(this);
9260 _la = _input.LA(1);
9261 if (_la==PARTITION) {
9262 {
9263 setState(1696);
9264 partitionByClause();
9265 }
9266 }
9267
9268 setState(1700);
9269 _errHandler.sync(this);
9270 _la = _input.LA(1);
9271 if (_la==ORDER) {
9272 {
9273 setState(1699);
9274 orderByClause();
9275 }
9276 }
9277
9278 setState(1703);
9279 _errHandler.sync(this);
9280 _la = _input.LA(1);
9281 if (_la==ROWS || _la==RANGE) {
9282 {
9283 setState(1702);
9284 rowRangeClause();
9285 }
9286 }
9287
9288 setState(1705);
9289 match(RP_);
9290 }
9291 }
9292 catch (RecognitionException re) {
9293 _localctx.exception = re;
9294 _errHandler.reportError(this, re);
9295 _errHandler.recover(this, re);
9296 }
9297 finally {
9298 exitRule();
9299 }
9300 return _localctx;
9301 }
9302
9303 public static class PartitionByClauseContext extends ParserRuleContext {
9304 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
9305 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
9306 public List<ExprContext> expr() {
9307 return getRuleContexts(ExprContext.class);
9308 }
9309 public ExprContext expr(int i) {
9310 return getRuleContext(ExprContext.class,i);
9311 }
9312 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
9313 public TerminalNode COMMA_(int i) {
9314 return getToken(SQLServerStatementParser.COMMA_, i);
9315 }
9316 public PartitionByClauseContext(ParserRuleContext parent, int invokingState) {
9317 super(parent, invokingState);
9318 }
9319 @Override public int getRuleIndex() { return RULE_partitionByClause; }
9320 @Override
9321 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9322 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionByClause(this);
9323 else return visitor.visitChildren(this);
9324 }
9325 }
9326
9327 public final PartitionByClauseContext partitionByClause() throws RecognitionException {
9328 PartitionByClauseContext _localctx = new PartitionByClauseContext(_ctx, getState());
9329 enterRule(_localctx, 162, RULE_partitionByClause);
9330 int _la;
9331 try {
9332 enterOuterAlt(_localctx, 1);
9333 {
9334 setState(1707);
9335 match(PARTITION);
9336 setState(1708);
9337 match(BY);
9338 setState(1709);
9339 expr(0);
9340 setState(1714);
9341 _errHandler.sync(this);
9342 _la = _input.LA(1);
9343 while (_la==COMMA_) {
9344 {
9345 {
9346 setState(1710);
9347 match(COMMA_);
9348 setState(1711);
9349 expr(0);
9350 }
9351 }
9352 setState(1716);
9353 _errHandler.sync(this);
9354 _la = _input.LA(1);
9355 }
9356 }
9357 }
9358 catch (RecognitionException re) {
9359 _localctx.exception = re;
9360 _errHandler.reportError(this, re);
9361 _errHandler.recover(this, re);
9362 }
9363 finally {
9364 exitRule();
9365 }
9366 return _localctx;
9367 }
9368
9369 public static class RowRangeClauseContext extends ParserRuleContext {
9370 public WindowFrameExtentContext windowFrameExtent() {
9371 return getRuleContext(WindowFrameExtentContext.class,0);
9372 }
9373 public TerminalNode ROWS() { return getToken(SQLServerStatementParser.ROWS, 0); }
9374 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
9375 public RowRangeClauseContext(ParserRuleContext parent, int invokingState) {
9376 super(parent, invokingState);
9377 }
9378 @Override public int getRuleIndex() { return RULE_rowRangeClause; }
9379 @Override
9380 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9381 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRowRangeClause(this);
9382 else return visitor.visitChildren(this);
9383 }
9384 }
9385
9386 public final RowRangeClauseContext rowRangeClause() throws RecognitionException {
9387 RowRangeClauseContext _localctx = new RowRangeClauseContext(_ctx, getState());
9388 enterRule(_localctx, 164, RULE_rowRangeClause);
9389 int _la;
9390 try {
9391 enterOuterAlt(_localctx, 1);
9392 {
9393 setState(1717);
9394 _la = _input.LA(1);
9395 if ( !(_la==ROWS || _la==RANGE) ) {
9396 _errHandler.recoverInline(this);
9397 }
9398 else {
9399 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9400 _errHandler.reportMatch(this);
9401 consume();
9402 }
9403 setState(1718);
9404 windowFrameExtent();
9405 }
9406 }
9407 catch (RecognitionException re) {
9408 _localctx.exception = re;
9409 _errHandler.reportError(this, re);
9410 _errHandler.recover(this, re);
9411 }
9412 finally {
9413 exitRule();
9414 }
9415 return _localctx;
9416 }
9417
9418 public static class WindowFrameExtentContext extends ParserRuleContext {
9419 public WindowFramePrecedingContext windowFramePreceding() {
9420 return getRuleContext(WindowFramePrecedingContext.class,0);
9421 }
9422 public WindowFrameBetweenContext windowFrameBetween() {
9423 return getRuleContext(WindowFrameBetweenContext.class,0);
9424 }
9425 public WindowFrameExtentContext(ParserRuleContext parent, int invokingState) {
9426 super(parent, invokingState);
9427 }
9428 @Override public int getRuleIndex() { return RULE_windowFrameExtent; }
9429 @Override
9430 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9431 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameExtent(this);
9432 else return visitor.visitChildren(this);
9433 }
9434 }
9435
9436 public final WindowFrameExtentContext windowFrameExtent() throws RecognitionException {
9437 WindowFrameExtentContext _localctx = new WindowFrameExtentContext(_ctx, getState());
9438 enterRule(_localctx, 166, RULE_windowFrameExtent);
9439 try {
9440 setState(1722);
9441 _errHandler.sync(this);
9442 switch (_input.LA(1)) {
9443 case CURRENT:
9444 case UNBOUNDED:
9445 case NUMBER_:
9446 enterOuterAlt(_localctx, 1);
9447 {
9448 setState(1720);
9449 windowFramePreceding();
9450 }
9451 break;
9452 case BETWEEN:
9453 enterOuterAlt(_localctx, 2);
9454 {
9455 setState(1721);
9456 windowFrameBetween();
9457 }
9458 break;
9459 default:
9460 throw new NoViableAltException(this);
9461 }
9462 }
9463 catch (RecognitionException re) {
9464 _localctx.exception = re;
9465 _errHandler.reportError(this, re);
9466 _errHandler.recover(this, re);
9467 }
9468 finally {
9469 exitRule();
9470 }
9471 return _localctx;
9472 }
9473
9474 public static class WindowFrameBetweenContext extends ParserRuleContext {
9475 public TerminalNode BETWEEN() { return getToken(SQLServerStatementParser.BETWEEN, 0); }
9476 public List<WindowFrameBoundContext> windowFrameBound() {
9477 return getRuleContexts(WindowFrameBoundContext.class);
9478 }
9479 public WindowFrameBoundContext windowFrameBound(int i) {
9480 return getRuleContext(WindowFrameBoundContext.class,i);
9481 }
9482 public TerminalNode AND() { return getToken(SQLServerStatementParser.AND, 0); }
9483 public WindowFrameBetweenContext(ParserRuleContext parent, int invokingState) {
9484 super(parent, invokingState);
9485 }
9486 @Override public int getRuleIndex() { return RULE_windowFrameBetween; }
9487 @Override
9488 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9489 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameBetween(this);
9490 else return visitor.visitChildren(this);
9491 }
9492 }
9493
9494 public final WindowFrameBetweenContext windowFrameBetween() throws RecognitionException {
9495 WindowFrameBetweenContext _localctx = new WindowFrameBetweenContext(_ctx, getState());
9496 enterRule(_localctx, 168, RULE_windowFrameBetween);
9497 try {
9498 enterOuterAlt(_localctx, 1);
9499 {
9500 setState(1724);
9501 match(BETWEEN);
9502 setState(1725);
9503 windowFrameBound();
9504 setState(1726);
9505 match(AND);
9506 setState(1727);
9507 windowFrameBound();
9508 }
9509 }
9510 catch (RecognitionException re) {
9511 _localctx.exception = re;
9512 _errHandler.reportError(this, re);
9513 _errHandler.recover(this, re);
9514 }
9515 finally {
9516 exitRule();
9517 }
9518 return _localctx;
9519 }
9520
9521 public static class WindowFrameBoundContext extends ParserRuleContext {
9522 public WindowFramePrecedingContext windowFramePreceding() {
9523 return getRuleContext(WindowFramePrecedingContext.class,0);
9524 }
9525 public WindowFrameFollowingContext windowFrameFollowing() {
9526 return getRuleContext(WindowFrameFollowingContext.class,0);
9527 }
9528 public WindowFrameBoundContext(ParserRuleContext parent, int invokingState) {
9529 super(parent, invokingState);
9530 }
9531 @Override public int getRuleIndex() { return RULE_windowFrameBound; }
9532 @Override
9533 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9534 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameBound(this);
9535 else return visitor.visitChildren(this);
9536 }
9537 }
9538
9539 public final WindowFrameBoundContext windowFrameBound() throws RecognitionException {
9540 WindowFrameBoundContext _localctx = new WindowFrameBoundContext(_ctx, getState());
9541 enterRule(_localctx, 170, RULE_windowFrameBound);
9542 try {
9543 setState(1731);
9544 _errHandler.sync(this);
9545 switch ( getInterpreter().adaptivePredict(_input,95,_ctx) ) {
9546 case 1:
9547 enterOuterAlt(_localctx, 1);
9548 {
9549 setState(1729);
9550 windowFramePreceding();
9551 }
9552 break;
9553 case 2:
9554 enterOuterAlt(_localctx, 2);
9555 {
9556 setState(1730);
9557 windowFrameFollowing();
9558 }
9559 break;
9560 }
9561 }
9562 catch (RecognitionException re) {
9563 _localctx.exception = re;
9564 _errHandler.reportError(this, re);
9565 _errHandler.recover(this, re);
9566 }
9567 finally {
9568 exitRule();
9569 }
9570 return _localctx;
9571 }
9572
9573 public static class WindowFramePrecedingContext extends ParserRuleContext {
9574 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
9575 public TerminalNode PRECEDING() { return getToken(SQLServerStatementParser.PRECEDING, 0); }
9576 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
9577 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
9578 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
9579 public WindowFramePrecedingContext(ParserRuleContext parent, int invokingState) {
9580 super(parent, invokingState);
9581 }
9582 @Override public int getRuleIndex() { return RULE_windowFramePreceding; }
9583 @Override
9584 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9585 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFramePreceding(this);
9586 else return visitor.visitChildren(this);
9587 }
9588 }
9589
9590 public final WindowFramePrecedingContext windowFramePreceding() throws RecognitionException {
9591 WindowFramePrecedingContext _localctx = new WindowFramePrecedingContext(_ctx, getState());
9592 enterRule(_localctx, 172, RULE_windowFramePreceding);
9593 try {
9594 setState(1739);
9595 _errHandler.sync(this);
9596 switch (_input.LA(1)) {
9597 case UNBOUNDED:
9598 enterOuterAlt(_localctx, 1);
9599 {
9600 setState(1733);
9601 match(UNBOUNDED);
9602 setState(1734);
9603 match(PRECEDING);
9604 }
9605 break;
9606 case NUMBER_:
9607 enterOuterAlt(_localctx, 2);
9608 {
9609 setState(1735);
9610 match(NUMBER_);
9611 setState(1736);
9612 match(PRECEDING);
9613 }
9614 break;
9615 case CURRENT:
9616 enterOuterAlt(_localctx, 3);
9617 {
9618 setState(1737);
9619 match(CURRENT);
9620 setState(1738);
9621 match(ROW);
9622 }
9623 break;
9624 default:
9625 throw new NoViableAltException(this);
9626 }
9627 }
9628 catch (RecognitionException re) {
9629 _localctx.exception = re;
9630 _errHandler.reportError(this, re);
9631 _errHandler.recover(this, re);
9632 }
9633 finally {
9634 exitRule();
9635 }
9636 return _localctx;
9637 }
9638
9639 public static class WindowFrameFollowingContext extends ParserRuleContext {
9640 public TerminalNode UNBOUNDED() { return getToken(SQLServerStatementParser.UNBOUNDED, 0); }
9641 public TerminalNode FOLLOWING() { return getToken(SQLServerStatementParser.FOLLOWING, 0); }
9642 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
9643 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
9644 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
9645 public WindowFrameFollowingContext(ParserRuleContext parent, int invokingState) {
9646 super(parent, invokingState);
9647 }
9648 @Override public int getRuleIndex() { return RULE_windowFrameFollowing; }
9649 @Override
9650 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9651 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowFrameFollowing(this);
9652 else return visitor.visitChildren(this);
9653 }
9654 }
9655
9656 public final WindowFrameFollowingContext windowFrameFollowing() throws RecognitionException {
9657 WindowFrameFollowingContext _localctx = new WindowFrameFollowingContext(_ctx, getState());
9658 enterRule(_localctx, 174, RULE_windowFrameFollowing);
9659 try {
9660 setState(1747);
9661 _errHandler.sync(this);
9662 switch (_input.LA(1)) {
9663 case UNBOUNDED:
9664 enterOuterAlt(_localctx, 1);
9665 {
9666 setState(1741);
9667 match(UNBOUNDED);
9668 setState(1742);
9669 match(FOLLOWING);
9670 }
9671 break;
9672 case NUMBER_:
9673 enterOuterAlt(_localctx, 2);
9674 {
9675 setState(1743);
9676 match(NUMBER_);
9677 setState(1744);
9678 match(FOLLOWING);
9679 }
9680 break;
9681 case CURRENT:
9682 enterOuterAlt(_localctx, 3);
9683 {
9684 setState(1745);
9685 match(CURRENT);
9686 setState(1746);
9687 match(ROW);
9688 }
9689 break;
9690 default:
9691 throw new NoViableAltException(this);
9692 }
9693 }
9694 catch (RecognitionException re) {
9695 _localctx.exception = re;
9696 _errHandler.reportError(this, re);
9697 _errHandler.recover(this, re);
9698 }
9699 finally {
9700 exitRule();
9701 }
9702 return _localctx;
9703 }
9704
9705 public static class ColumnNameWithSortContext extends ParserRuleContext {
9706 public ColumnNameContext columnName() {
9707 return getRuleContext(ColumnNameContext.class,0);
9708 }
9709 public TerminalNode ASC() { return getToken(SQLServerStatementParser.ASC, 0); }
9710 public TerminalNode DESC() { return getToken(SQLServerStatementParser.DESC, 0); }
9711 public ColumnNameWithSortContext(ParserRuleContext parent, int invokingState) {
9712 super(parent, invokingState);
9713 }
9714 @Override public int getRuleIndex() { return RULE_columnNameWithSort; }
9715 @Override
9716 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9717 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnNameWithSort(this);
9718 else return visitor.visitChildren(this);
9719 }
9720 }
9721
9722 public final ColumnNameWithSortContext columnNameWithSort() throws RecognitionException {
9723 ColumnNameWithSortContext _localctx = new ColumnNameWithSortContext(_ctx, getState());
9724 enterRule(_localctx, 176, RULE_columnNameWithSort);
9725 int _la;
9726 try {
9727 enterOuterAlt(_localctx, 1);
9728 {
9729 setState(1749);
9730 columnName();
9731 setState(1751);
9732 _errHandler.sync(this);
9733 _la = _input.LA(1);
9734 if (_la==ASC || _la==DESC) {
9735 {
9736 setState(1750);
9737 _la = _input.LA(1);
9738 if ( !(_la==ASC || _la==DESC) ) {
9739 _errHandler.recoverInline(this);
9740 }
9741 else {
9742 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9743 _errHandler.reportMatch(this);
9744 consume();
9745 }
9746 }
9747 }
9748
9749 }
9750 }
9751 catch (RecognitionException re) {
9752 _localctx.exception = re;
9753 _errHandler.reportError(this, re);
9754 _errHandler.recover(this, re);
9755 }
9756 finally {
9757 exitRule();
9758 }
9759 return _localctx;
9760 }
9761
9762 public static class IndexOptionContext extends ParserRuleContext {
9763 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
9764 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
9765 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
9766 public EqOnOffOptionContext eqOnOffOption() {
9767 return getRuleContext(EqOnOffOptionContext.class,0);
9768 }
9769 public EqTimeContext eqTime() {
9770 return getRuleContext(EqTimeContext.class,0);
9771 }
9772 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
9773 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
9774 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
9775 public CompressionOptionContext compressionOption() {
9776 return getRuleContext(CompressionOptionContext.class,0);
9777 }
9778 public OnPartitionClauseContext onPartitionClause() {
9779 return getRuleContext(OnPartitionClauseContext.class,0);
9780 }
9781 public IndexOptionContext(ParserRuleContext parent, int invokingState) {
9782 super(parent, invokingState);
9783 }
9784 @Override public int getRuleIndex() { return RULE_indexOption; }
9785 @Override
9786 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9787 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOption(this);
9788 else return visitor.visitChildren(this);
9789 }
9790 }
9791
9792 public final IndexOptionContext indexOption() throws RecognitionException {
9793 IndexOptionContext _localctx = new IndexOptionContext(_ctx, getState());
9794 enterRule(_localctx, 178, RULE_indexOption);
9795 int _la;
9796 try {
9797 setState(1766);
9798 _errHandler.sync(this);
9799 switch ( getInterpreter().adaptivePredict(_input,100,_ctx) ) {
9800 case 1:
9801 enterOuterAlt(_localctx, 1);
9802 {
9803 setState(1753);
9804 match(FILLFACTOR);
9805 setState(1754);
9806 match(EQ_);
9807 setState(1755);
9808 match(NUMBER_);
9809 }
9810 break;
9811 case 2:
9812 enterOuterAlt(_localctx, 2);
9813 {
9814 setState(1756);
9815 eqOnOffOption();
9816 }
9817 break;
9818 case 3:
9819 enterOuterAlt(_localctx, 3);
9820 {
9821 setState(1757);
9822 _la = _input.LA(1);
9823 if ( !(_la==COMPRESSION_DELAY || _la==MAX_DURATION) ) {
9824 _errHandler.recoverInline(this);
9825 }
9826 else {
9827 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9828 _errHandler.reportMatch(this);
9829 consume();
9830 }
9831 setState(1758);
9832 eqTime();
9833 }
9834 break;
9835 case 4:
9836 enterOuterAlt(_localctx, 4);
9837 {
9838 setState(1759);
9839 match(MAXDOP);
9840 setState(1760);
9841 match(EQ_);
9842 setState(1761);
9843 match(NUMBER_);
9844 }
9845 break;
9846 case 5:
9847 enterOuterAlt(_localctx, 5);
9848 {
9849 setState(1762);
9850 compressionOption();
9851 setState(1764);
9852 _errHandler.sync(this);
9853 _la = _input.LA(1);
9854 if (_la==ON) {
9855 {
9856 setState(1763);
9857 onPartitionClause();
9858 }
9859 }
9860
9861 }
9862 break;
9863 }
9864 }
9865 catch (RecognitionException re) {
9866 _localctx.exception = re;
9867 _errHandler.reportError(this, re);
9868 _errHandler.recover(this, re);
9869 }
9870 finally {
9871 exitRule();
9872 }
9873 return _localctx;
9874 }
9875
9876 public static class CompressionOptionContext extends ParserRuleContext {
9877 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
9878 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
9879 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
9880 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
9881 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
9882 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
9883 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
9884 public CompressionOptionContext(ParserRuleContext parent, int invokingState) {
9885 super(parent, invokingState);
9886 }
9887 @Override public int getRuleIndex() { return RULE_compressionOption; }
9888 @Override
9889 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9890 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompressionOption(this);
9891 else return visitor.visitChildren(this);
9892 }
9893 }
9894
9895 public final CompressionOptionContext compressionOption() throws RecognitionException {
9896 CompressionOptionContext _localctx = new CompressionOptionContext(_ctx, getState());
9897 enterRule(_localctx, 180, RULE_compressionOption);
9898 int _la;
9899 try {
9900 enterOuterAlt(_localctx, 1);
9901 {
9902 setState(1768);
9903 match(DATA_COMPRESSION);
9904 setState(1769);
9905 match(EQ_);
9906 setState(1770);
9907 _la = _input.LA(1);
9908 if ( !(((((_la - 221)) & ~0x3f) == 0 && ((1L << (_la - 221)) & ((1L << (ROW - 221)) | (1L << (COLUMNSTORE - 221)) | (1L << (NONE - 221)) | (1L << (PAGE - 221)))) != 0) || _la==COLUMNSTORE_ARCHIVE) ) {
9909 _errHandler.recoverInline(this);
9910 }
9911 else {
9912 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
9913 _errHandler.reportMatch(this);
9914 consume();
9915 }
9916 }
9917 }
9918 catch (RecognitionException re) {
9919 _localctx.exception = re;
9920 _errHandler.reportError(this, re);
9921 _errHandler.recover(this, re);
9922 }
9923 finally {
9924 exitRule();
9925 }
9926 return _localctx;
9927 }
9928
9929 public static class EqTimeContext extends ParserRuleContext {
9930 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
9931 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
9932 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
9933 public EqTimeContext(ParserRuleContext parent, int invokingState) {
9934 super(parent, invokingState);
9935 }
9936 @Override public int getRuleIndex() { return RULE_eqTime; }
9937 @Override
9938 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9939 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqTime(this);
9940 else return visitor.visitChildren(this);
9941 }
9942 }
9943
9944 public final EqTimeContext eqTime() throws RecognitionException {
9945 EqTimeContext _localctx = new EqTimeContext(_ctx, getState());
9946 enterRule(_localctx, 182, RULE_eqTime);
9947 int _la;
9948 try {
9949 enterOuterAlt(_localctx, 1);
9950 {
9951 setState(1772);
9952 match(EQ_);
9953 setState(1773);
9954 match(NUMBER_);
9955 setState(1775);
9956 _errHandler.sync(this);
9957 _la = _input.LA(1);
9958 if (_la==MINUTES) {
9959 {
9960 setState(1774);
9961 match(MINUTES);
9962 }
9963 }
9964
9965 }
9966 }
9967 catch (RecognitionException re) {
9968 _localctx.exception = re;
9969 _errHandler.reportError(this, re);
9970 _errHandler.recover(this, re);
9971 }
9972 finally {
9973 exitRule();
9974 }
9975 return _localctx;
9976 }
9977
9978 public static class EqOnOffOptionContext extends ParserRuleContext {
9979 public EqKeyContext eqKey() {
9980 return getRuleContext(EqKeyContext.class,0);
9981 }
9982 public EqOnOffContext eqOnOff() {
9983 return getRuleContext(EqOnOffContext.class,0);
9984 }
9985 public EqOnOffOptionContext(ParserRuleContext parent, int invokingState) {
9986 super(parent, invokingState);
9987 }
9988 @Override public int getRuleIndex() { return RULE_eqOnOffOption; }
9989 @Override
9990 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
9991 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqOnOffOption(this);
9992 else return visitor.visitChildren(this);
9993 }
9994 }
9995
9996 public final EqOnOffOptionContext eqOnOffOption() throws RecognitionException {
9997 EqOnOffOptionContext _localctx = new EqOnOffOptionContext(_ctx, getState());
9998 enterRule(_localctx, 184, RULE_eqOnOffOption);
9999 try {
10000 enterOuterAlt(_localctx, 1);
10001 {
10002 setState(1777);
10003 eqKey();
10004 setState(1778);
10005 eqOnOff();
10006 }
10007 }
10008 catch (RecognitionException re) {
10009 _localctx.exception = re;
10010 _errHandler.reportError(this, re);
10011 _errHandler.recover(this, re);
10012 }
10013 finally {
10014 exitRule();
10015 }
10016 return _localctx;
10017 }
10018
10019 public static class EqKeyContext extends ParserRuleContext {
10020 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
10021 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
10022 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
10023 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
10024 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
10025 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
10026 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
10027 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
10028 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
10029 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
10030 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
10031 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
10032 public EqKeyContext(ParserRuleContext parent, int invokingState) {
10033 super(parent, invokingState);
10034 }
10035 @Override public int getRuleIndex() { return RULE_eqKey; }
10036 @Override
10037 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10038 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqKey(this);
10039 else return visitor.visitChildren(this);
10040 }
10041 }
10042
10043 public final EqKeyContext eqKey() throws RecognitionException {
10044 EqKeyContext _localctx = new EqKeyContext(_ctx, getState());
10045 enterRule(_localctx, 186, RULE_eqKey);
10046 int _la;
10047 try {
10048 enterOuterAlt(_localctx, 1);
10049 {
10050 setState(1780);
10051 _la = _input.LA(1);
10052 if ( !(_la==ONLINE || _la==RESUMABLE || ((((_la - 379)) & ~0x3f) == 0 && ((1L << (_la - 379)) & ((1L << (ALLOW_PAGE_LOCKS - 379)) | (1L << (ALLOW_ROW_LOCKS - 379)) | (1L << (COMPRESSION_DELAY - 379)) | (1L << (STATISTICS_INCREMENTAL - 379)) | (1L << (STATISTICS_NORECOMPUTE - 379)) | (1L << (SORT_IN_TEMPDB - 379)) | (1L << (IGNORE_DUP_KEY - 379)) | (1L << (PAD_INDEX - 379)) | (1L << (DROP_EXISTING - 379)))) != 0) || _la==OPTIMIZE_FOR_SEQUENTIAL_KEY) ) {
10053 _errHandler.recoverInline(this);
10054 }
10055 else {
10056 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10057 _errHandler.reportMatch(this);
10058 consume();
10059 }
10060 }
10061 }
10062 catch (RecognitionException re) {
10063 _localctx.exception = re;
10064 _errHandler.reportError(this, re);
10065 _errHandler.recover(this, re);
10066 }
10067 finally {
10068 exitRule();
10069 }
10070 return _localctx;
10071 }
10072
10073 public static class EqOnOffContext extends ParserRuleContext {
10074 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
10075 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
10076 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
10077 public EqOnOffContext(ParserRuleContext parent, int invokingState) {
10078 super(parent, invokingState);
10079 }
10080 @Override public int getRuleIndex() { return RULE_eqOnOff; }
10081 @Override
10082 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10083 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEqOnOff(this);
10084 else return visitor.visitChildren(this);
10085 }
10086 }
10087
10088 public final EqOnOffContext eqOnOff() throws RecognitionException {
10089 EqOnOffContext _localctx = new EqOnOffContext(_ctx, getState());
10090 enterRule(_localctx, 188, RULE_eqOnOff);
10091 int _la;
10092 try {
10093 enterOuterAlt(_localctx, 1);
10094 {
10095 setState(1782);
10096 match(EQ_);
10097 setState(1783);
10098 _la = _input.LA(1);
10099 if ( !(_la==ON || _la==OFF) ) {
10100 _errHandler.recoverInline(this);
10101 }
10102 else {
10103 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10104 _errHandler.reportMatch(this);
10105 consume();
10106 }
10107 }
10108 }
10109 catch (RecognitionException re) {
10110 _localctx.exception = re;
10111 _errHandler.reportError(this, re);
10112 _errHandler.recover(this, re);
10113 }
10114 finally {
10115 exitRule();
10116 }
10117 return _localctx;
10118 }
10119
10120 public static class OnPartitionClauseContext extends ParserRuleContext {
10121 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
10122 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
10123 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10124 public PartitionExpressionsContext partitionExpressions() {
10125 return getRuleContext(PartitionExpressionsContext.class,0);
10126 }
10127 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10128 public OnPartitionClauseContext(ParserRuleContext parent, int invokingState) {
10129 super(parent, invokingState);
10130 }
10131 @Override public int getRuleIndex() { return RULE_onPartitionClause; }
10132 @Override
10133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnPartitionClause(this);
10135 else return visitor.visitChildren(this);
10136 }
10137 }
10138
10139 public final OnPartitionClauseContext onPartitionClause() throws RecognitionException {
10140 OnPartitionClauseContext _localctx = new OnPartitionClauseContext(_ctx, getState());
10141 enterRule(_localctx, 190, RULE_onPartitionClause);
10142 try {
10143 enterOuterAlt(_localctx, 1);
10144 {
10145 setState(1785);
10146 match(ON);
10147 setState(1786);
10148 match(PARTITIONS);
10149 setState(1787);
10150 match(LP_);
10151 setState(1788);
10152 partitionExpressions();
10153 setState(1789);
10154 match(RP_);
10155 }
10156 }
10157 catch (RecognitionException re) {
10158 _localctx.exception = re;
10159 _errHandler.reportError(this, re);
10160 _errHandler.recover(this, re);
10161 }
10162 finally {
10163 exitRule();
10164 }
10165 return _localctx;
10166 }
10167
10168 public static class PartitionExpressionsContext extends ParserRuleContext {
10169 public List<PartitionExpressionContext> partitionExpression() {
10170 return getRuleContexts(PartitionExpressionContext.class);
10171 }
10172 public PartitionExpressionContext partitionExpression(int i) {
10173 return getRuleContext(PartitionExpressionContext.class,i);
10174 }
10175 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
10176 public TerminalNode COMMA_(int i) {
10177 return getToken(SQLServerStatementParser.COMMA_, i);
10178 }
10179 public PartitionExpressionsContext(ParserRuleContext parent, int invokingState) {
10180 super(parent, invokingState);
10181 }
10182 @Override public int getRuleIndex() { return RULE_partitionExpressions; }
10183 @Override
10184 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10185 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionExpressions(this);
10186 else return visitor.visitChildren(this);
10187 }
10188 }
10189
10190 public final PartitionExpressionsContext partitionExpressions() throws RecognitionException {
10191 PartitionExpressionsContext _localctx = new PartitionExpressionsContext(_ctx, getState());
10192 enterRule(_localctx, 192, RULE_partitionExpressions);
10193 int _la;
10194 try {
10195 enterOuterAlt(_localctx, 1);
10196 {
10197 setState(1791);
10198 partitionExpression();
10199 setState(1796);
10200 _errHandler.sync(this);
10201 _la = _input.LA(1);
10202 while (_la==COMMA_) {
10203 {
10204 {
10205 setState(1792);
10206 match(COMMA_);
10207 setState(1793);
10208 partitionExpression();
10209 }
10210 }
10211 setState(1798);
10212 _errHandler.sync(this);
10213 _la = _input.LA(1);
10214 }
10215 }
10216 }
10217 catch (RecognitionException re) {
10218 _localctx.exception = re;
10219 _errHandler.reportError(this, re);
10220 _errHandler.recover(this, re);
10221 }
10222 finally {
10223 exitRule();
10224 }
10225 return _localctx;
10226 }
10227
10228 public static class PartitionExpressionContext extends ParserRuleContext {
10229 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10230 public NumberRangeContext numberRange() {
10231 return getRuleContext(NumberRangeContext.class,0);
10232 }
10233 public PartitionExpressionContext(ParserRuleContext parent, int invokingState) {
10234 super(parent, invokingState);
10235 }
10236 @Override public int getRuleIndex() { return RULE_partitionExpression; }
10237 @Override
10238 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10239 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionExpression(this);
10240 else return visitor.visitChildren(this);
10241 }
10242 }
10243
10244 public final PartitionExpressionContext partitionExpression() throws RecognitionException {
10245 PartitionExpressionContext _localctx = new PartitionExpressionContext(_ctx, getState());
10246 enterRule(_localctx, 194, RULE_partitionExpression);
10247 try {
10248 setState(1801);
10249 _errHandler.sync(this);
10250 switch ( getInterpreter().adaptivePredict(_input,103,_ctx) ) {
10251 case 1:
10252 enterOuterAlt(_localctx, 1);
10253 {
10254 setState(1799);
10255 match(NUMBER_);
10256 }
10257 break;
10258 case 2:
10259 enterOuterAlt(_localctx, 2);
10260 {
10261 setState(1800);
10262 numberRange();
10263 }
10264 break;
10265 }
10266 }
10267 catch (RecognitionException re) {
10268 _localctx.exception = re;
10269 _errHandler.reportError(this, re);
10270 _errHandler.recover(this, re);
10271 }
10272 finally {
10273 exitRule();
10274 }
10275 return _localctx;
10276 }
10277
10278 public static class NumberRangeContext extends ParserRuleContext {
10279 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
10280 public TerminalNode NUMBER_(int i) {
10281 return getToken(SQLServerStatementParser.NUMBER_, i);
10282 }
10283 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
10284 public NumberRangeContext(ParserRuleContext parent, int invokingState) {
10285 super(parent, invokingState);
10286 }
10287 @Override public int getRuleIndex() { return RULE_numberRange; }
10288 @Override
10289 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10290 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitNumberRange(this);
10291 else return visitor.visitChildren(this);
10292 }
10293 }
10294
10295 public final NumberRangeContext numberRange() throws RecognitionException {
10296 NumberRangeContext _localctx = new NumberRangeContext(_ctx, getState());
10297 enterRule(_localctx, 196, RULE_numberRange);
10298 try {
10299 enterOuterAlt(_localctx, 1);
10300 {
10301 setState(1803);
10302 match(NUMBER_);
10303 setState(1804);
10304 match(TO);
10305 setState(1805);
10306 match(NUMBER_);
10307 }
10308 }
10309 catch (RecognitionException re) {
10310 _localctx.exception = re;
10311 _errHandler.reportError(this, re);
10312 _errHandler.recover(this, re);
10313 }
10314 finally {
10315 exitRule();
10316 }
10317 return _localctx;
10318 }
10319
10320 public static class LowPriorityLockWaitContext extends ParserRuleContext {
10321 public TerminalNode WAIT_AT_LOW_PRIORITY() { return getToken(SQLServerStatementParser.WAIT_AT_LOW_PRIORITY, 0); }
10322 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10323 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
10324 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
10325 public TerminalNode EQ_(int i) {
10326 return getToken(SQLServerStatementParser.EQ_, i);
10327 }
10328 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
10329 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
10330 public TerminalNode ABORT_AFTER_WAIT() { return getToken(SQLServerStatementParser.ABORT_AFTER_WAIT, 0); }
10331 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10332 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
10333 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
10334 public TerminalNode BLOCKERS() { return getToken(SQLServerStatementParser.BLOCKERS, 0); }
10335 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
10336 public LowPriorityLockWaitContext(ParserRuleContext parent, int invokingState) {
10337 super(parent, invokingState);
10338 }
10339 @Override public int getRuleIndex() { return RULE_lowPriorityLockWait; }
10340 @Override
10341 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10342 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLowPriorityLockWait(this);
10343 else return visitor.visitChildren(this);
10344 }
10345 }
10346
10347 public final LowPriorityLockWaitContext lowPriorityLockWait() throws RecognitionException {
10348 LowPriorityLockWaitContext _localctx = new LowPriorityLockWaitContext(_ctx, getState());
10349 enterRule(_localctx, 198, RULE_lowPriorityLockWait);
10350 int _la;
10351 try {
10352 enterOuterAlt(_localctx, 1);
10353 {
10354 setState(1807);
10355 match(WAIT_AT_LOW_PRIORITY);
10356 setState(1808);
10357 match(LP_);
10358 setState(1809);
10359 match(MAX_DURATION);
10360 setState(1810);
10361 match(EQ_);
10362 setState(1811);
10363 match(NUMBER_);
10364 setState(1813);
10365 _errHandler.sync(this);
10366 _la = _input.LA(1);
10367 if (_la==MINUTES) {
10368 {
10369 setState(1812);
10370 match(MINUTES);
10371 }
10372 }
10373
10374 setState(1815);
10375 match(COMMA_);
10376 setState(1816);
10377 match(ABORT_AFTER_WAIT);
10378 setState(1817);
10379 match(EQ_);
10380 setState(1818);
10381 _la = _input.LA(1);
10382 if ( !(((((_la - 240)) & ~0x3f) == 0 && ((1L << (_la - 240)) & ((1L << (BLOCKERS - 240)) | (1L << (NONE - 240)) | (1L << (SELF - 240)))) != 0)) ) {
10383 _errHandler.recoverInline(this);
10384 }
10385 else {
10386 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10387 _errHandler.reportMatch(this);
10388 consume();
10389 }
10390 setState(1819);
10391 match(RP_);
10392 }
10393 }
10394 catch (RecognitionException re) {
10395 _localctx.exception = re;
10396 _errHandler.reportError(this, re);
10397 _errHandler.recover(this, re);
10398 }
10399 finally {
10400 exitRule();
10401 }
10402 return _localctx;
10403 }
10404
10405 public static class OnLowPriorLockWaitContext extends ParserRuleContext {
10406 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
10407 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
10408 public LowPriorityLockWaitContext lowPriorityLockWait() {
10409 return getRuleContext(LowPriorityLockWaitContext.class,0);
10410 }
10411 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
10412 public OnLowPriorLockWaitContext(ParserRuleContext parent, int invokingState) {
10413 super(parent, invokingState);
10414 }
10415 @Override public int getRuleIndex() { return RULE_onLowPriorLockWait; }
10416 @Override
10417 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10418 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnLowPriorLockWait(this);
10419 else return visitor.visitChildren(this);
10420 }
10421 }
10422
10423 public final OnLowPriorLockWaitContext onLowPriorLockWait() throws RecognitionException {
10424 OnLowPriorLockWaitContext _localctx = new OnLowPriorLockWaitContext(_ctx, getState());
10425 enterRule(_localctx, 200, RULE_onLowPriorLockWait);
10426 int _la;
10427 try {
10428 enterOuterAlt(_localctx, 1);
10429 {
10430 setState(1821);
10431 match(ON);
10432 setState(1826);
10433 _errHandler.sync(this);
10434 _la = _input.LA(1);
10435 if (_la==LP_) {
10436 {
10437 setState(1822);
10438 match(LP_);
10439 setState(1823);
10440 lowPriorityLockWait();
10441 setState(1824);
10442 match(RP_);
10443 }
10444 }
10445
10446 }
10447 }
10448 catch (RecognitionException re) {
10449 _localctx.exception = re;
10450 _errHandler.reportError(this, re);
10451 _errHandler.recover(this, re);
10452 }
10453 finally {
10454 exitRule();
10455 }
10456 return _localctx;
10457 }
10458
10459 public static class IgnoredIdentifierContext extends ParserRuleContext {
10460 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
10461 public IgnoredIdentifierContext(ParserRuleContext parent, int invokingState) {
10462 super(parent, invokingState);
10463 }
10464 @Override public int getRuleIndex() { return RULE_ignoredIdentifier; }
10465 @Override
10466 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10467 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredIdentifier(this);
10468 else return visitor.visitChildren(this);
10469 }
10470 }
10471
10472 public final IgnoredIdentifierContext ignoredIdentifier() throws RecognitionException {
10473 IgnoredIdentifierContext _localctx = new IgnoredIdentifierContext(_ctx, getState());
10474 enterRule(_localctx, 202, RULE_ignoredIdentifier);
10475 try {
10476 enterOuterAlt(_localctx, 1);
10477 {
10478 setState(1828);
10479 match(IDENTIFIER_);
10480 }
10481 }
10482 catch (RecognitionException re) {
10483 _localctx.exception = re;
10484 _errHandler.reportError(this, re);
10485 _errHandler.recover(this, re);
10486 }
10487 finally {
10488 exitRule();
10489 }
10490 return _localctx;
10491 }
10492
10493 public static class IgnoredIdentifiersContext extends ParserRuleContext {
10494 public List<IgnoredIdentifierContext> ignoredIdentifier() {
10495 return getRuleContexts(IgnoredIdentifierContext.class);
10496 }
10497 public IgnoredIdentifierContext ignoredIdentifier(int i) {
10498 return getRuleContext(IgnoredIdentifierContext.class,i);
10499 }
10500 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
10501 public TerminalNode COMMA_(int i) {
10502 return getToken(SQLServerStatementParser.COMMA_, i);
10503 }
10504 public IgnoredIdentifiersContext(ParserRuleContext parent, int invokingState) {
10505 super(parent, invokingState);
10506 }
10507 @Override public int getRuleIndex() { return RULE_ignoredIdentifiers; }
10508 @Override
10509 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10510 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredIdentifiers(this);
10511 else return visitor.visitChildren(this);
10512 }
10513 }
10514
10515 public final IgnoredIdentifiersContext ignoredIdentifiers() throws RecognitionException {
10516 IgnoredIdentifiersContext _localctx = new IgnoredIdentifiersContext(_ctx, getState());
10517 enterRule(_localctx, 204, RULE_ignoredIdentifiers);
10518 try {
10519 int _alt;
10520 enterOuterAlt(_localctx, 1);
10521 {
10522 setState(1830);
10523 ignoredIdentifier();
10524 setState(1835);
10525 _errHandler.sync(this);
10526 _alt = getInterpreter().adaptivePredict(_input,106,_ctx);
10527 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
10528 if ( _alt==1 ) {
10529 {
10530 {
10531 setState(1831);
10532 match(COMMA_);
10533 setState(1832);
10534 ignoredIdentifier();
10535 }
10536 }
10537 }
10538 setState(1837);
10539 _errHandler.sync(this);
10540 _alt = getInterpreter().adaptivePredict(_input,106,_ctx);
10541 }
10542 }
10543 }
10544 catch (RecognitionException re) {
10545 _localctx.exception = re;
10546 _errHandler.reportError(this, re);
10547 _errHandler.recover(this, re);
10548 }
10549 finally {
10550 exitRule();
10551 }
10552 return _localctx;
10553 }
10554
10555 public static class MatchNoneContext extends ParserRuleContext {
10556 public MatchNoneContext(ParserRuleContext parent, int invokingState) {
10557 super(parent, invokingState);
10558 }
10559 @Override public int getRuleIndex() { return RULE_matchNone; }
10560 @Override
10561 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10562 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMatchNone(this);
10563 else return visitor.visitChildren(this);
10564 }
10565 }
10566
10567 public final MatchNoneContext matchNone() throws RecognitionException {
10568 MatchNoneContext _localctx = new MatchNoneContext(_ctx, getState());
10569 enterRule(_localctx, 206, RULE_matchNone);
10570 try {
10571 enterOuterAlt(_localctx, 1);
10572 {
10573 setState(1838);
10574 match(T__0);
10575 }
10576 }
10577 catch (RecognitionException re) {
10578 _localctx.exception = re;
10579 _errHandler.reportError(this, re);
10580 _errHandler.recover(this, re);
10581 }
10582 finally {
10583 exitRule();
10584 }
10585 return _localctx;
10586 }
10587
10588 public static class VariableNameContext extends ParserRuleContext {
10589 public IdentifierContext identifier() {
10590 return getRuleContext(IdentifierContext.class,0);
10591 }
10592 public VariableNameContext(ParserRuleContext parent, int invokingState) {
10593 super(parent, invokingState);
10594 }
10595 @Override public int getRuleIndex() { return RULE_variableName; }
10596 @Override
10597 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10598 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableName(this);
10599 else return visitor.visitChildren(this);
10600 }
10601 }
10602
10603 public final VariableNameContext variableName() throws RecognitionException {
10604 VariableNameContext _localctx = new VariableNameContext(_ctx, getState());
10605 enterRule(_localctx, 208, RULE_variableName);
10606 try {
10607 enterOuterAlt(_localctx, 1);
10608 {
10609 setState(1840);
10610 identifier();
10611 }
10612 }
10613 catch (RecognitionException re) {
10614 _localctx.exception = re;
10615 _errHandler.reportError(this, re);
10616 _errHandler.recover(this, re);
10617 }
10618 finally {
10619 exitRule();
10620 }
10621 return _localctx;
10622 }
10623
10624 public static class ExecuteAsClauseContext extends ParserRuleContext {
10625 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
10626 public TerminalNode EXEC() { return getToken(SQLServerStatementParser.EXEC, 0); }
10627 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
10628 public TerminalNode CALLER() { return getToken(SQLServerStatementParser.CALLER, 0); }
10629 public TerminalNode SELF() { return getToken(SQLServerStatementParser.SELF, 0); }
10630 public TerminalNode OWNER() { return getToken(SQLServerStatementParser.OWNER, 0); }
10631 public StringLiteralsContext stringLiterals() {
10632 return getRuleContext(StringLiteralsContext.class,0);
10633 }
10634 public ExecuteAsClauseContext(ParserRuleContext parent, int invokingState) {
10635 super(parent, invokingState);
10636 }
10637 @Override public int getRuleIndex() { return RULE_executeAsClause; }
10638 @Override
10639 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10640 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExecuteAsClause(this);
10641 else return visitor.visitChildren(this);
10642 }
10643 }
10644
10645 public final ExecuteAsClauseContext executeAsClause() throws RecognitionException {
10646 ExecuteAsClauseContext _localctx = new ExecuteAsClauseContext(_ctx, getState());
10647 enterRule(_localctx, 210, RULE_executeAsClause);
10648 int _la;
10649 try {
10650 enterOuterAlt(_localctx, 1);
10651 {
10652 setState(1842);
10653 _la = _input.LA(1);
10654 if ( !(_la==EXECUTE || _la==EXEC) ) {
10655 _errHandler.recoverInline(this);
10656 }
10657 else {
10658 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10659 _errHandler.reportMatch(this);
10660 consume();
10661 }
10662 setState(1843);
10663 match(AS);
10664 setState(1848);
10665 _errHandler.sync(this);
10666 switch (_input.LA(1)) {
10667 case CALLER:
10668 {
10669 setState(1844);
10670 match(CALLER);
10671 }
10672 break;
10673 case SELF:
10674 {
10675 setState(1845);
10676 match(SELF);
10677 }
10678 break;
10679 case OWNER:
10680 {
10681 setState(1846);
10682 match(OWNER);
10683 }
10684 break;
10685 case STRING_:
10686 case NCHAR_TEXT:
10687 {
10688 setState(1847);
10689 stringLiterals();
10690 }
10691 break;
10692 default:
10693 throw new NoViableAltException(this);
10694 }
10695 }
10696 }
10697 catch (RecognitionException re) {
10698 _localctx.exception = re;
10699 _errHandler.reportError(this, re);
10700 _errHandler.recover(this, re);
10701 }
10702 finally {
10703 exitRule();
10704 }
10705 return _localctx;
10706 }
10707
10708 public static class TransactionNameContext extends ParserRuleContext {
10709 public IdentifierContext identifier() {
10710 return getRuleContext(IdentifierContext.class,0);
10711 }
10712 public TransactionNameContext(ParserRuleContext parent, int invokingState) {
10713 super(parent, invokingState);
10714 }
10715 @Override public int getRuleIndex() { return RULE_transactionName; }
10716 @Override
10717 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10718 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTransactionName(this);
10719 else return visitor.visitChildren(this);
10720 }
10721 }
10722
10723 public final TransactionNameContext transactionName() throws RecognitionException {
10724 TransactionNameContext _localctx = new TransactionNameContext(_ctx, getState());
10725 enterRule(_localctx, 212, RULE_transactionName);
10726 try {
10727 enterOuterAlt(_localctx, 1);
10728 {
10729 setState(1850);
10730 identifier();
10731 }
10732 }
10733 catch (RecognitionException re) {
10734 _localctx.exception = re;
10735 _errHandler.reportError(this, re);
10736 _errHandler.recover(this, re);
10737 }
10738 finally {
10739 exitRule();
10740 }
10741 return _localctx;
10742 }
10743
10744 public static class TransactionVariableNameContext extends ParserRuleContext {
10745 public VariableNameContext variableName() {
10746 return getRuleContext(VariableNameContext.class,0);
10747 }
10748 public TransactionVariableNameContext(ParserRuleContext parent, int invokingState) {
10749 super(parent, invokingState);
10750 }
10751 @Override public int getRuleIndex() { return RULE_transactionVariableName; }
10752 @Override
10753 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10754 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTransactionVariableName(this);
10755 else return visitor.visitChildren(this);
10756 }
10757 }
10758
10759 public final TransactionVariableNameContext transactionVariableName() throws RecognitionException {
10760 TransactionVariableNameContext _localctx = new TransactionVariableNameContext(_ctx, getState());
10761 enterRule(_localctx, 214, RULE_transactionVariableName);
10762 try {
10763 enterOuterAlt(_localctx, 1);
10764 {
10765 setState(1852);
10766 variableName();
10767 }
10768 }
10769 catch (RecognitionException re) {
10770 _localctx.exception = re;
10771 _errHandler.reportError(this, re);
10772 _errHandler.recover(this, re);
10773 }
10774 finally {
10775 exitRule();
10776 }
10777 return _localctx;
10778 }
10779
10780 public static class SavepointNameContext extends ParserRuleContext {
10781 public IdentifierContext identifier() {
10782 return getRuleContext(IdentifierContext.class,0);
10783 }
10784 public SavepointNameContext(ParserRuleContext parent, int invokingState) {
10785 super(parent, invokingState);
10786 }
10787 @Override public int getRuleIndex() { return RULE_savepointName; }
10788 @Override
10789 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10790 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepointName(this);
10791 else return visitor.visitChildren(this);
10792 }
10793 }
10794
10795 public final SavepointNameContext savepointName() throws RecognitionException {
10796 SavepointNameContext _localctx = new SavepointNameContext(_ctx, getState());
10797 enterRule(_localctx, 216, RULE_savepointName);
10798 try {
10799 enterOuterAlt(_localctx, 1);
10800 {
10801 setState(1854);
10802 identifier();
10803 }
10804 }
10805 catch (RecognitionException re) {
10806 _localctx.exception = re;
10807 _errHandler.reportError(this, re);
10808 _errHandler.recover(this, re);
10809 }
10810 finally {
10811 exitRule();
10812 }
10813 return _localctx;
10814 }
10815
10816 public static class SavepointVariableNameContext extends ParserRuleContext {
10817 public VariableNameContext variableName() {
10818 return getRuleContext(VariableNameContext.class,0);
10819 }
10820 public SavepointVariableNameContext(ParserRuleContext parent, int invokingState) {
10821 super(parent, invokingState);
10822 }
10823 @Override public int getRuleIndex() { return RULE_savepointVariableName; }
10824 @Override
10825 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10826 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSavepointVariableName(this);
10827 else return visitor.visitChildren(this);
10828 }
10829 }
10830
10831 public final SavepointVariableNameContext savepointVariableName() throws RecognitionException {
10832 SavepointVariableNameContext _localctx = new SavepointVariableNameContext(_ctx, getState());
10833 enterRule(_localctx, 218, RULE_savepointVariableName);
10834 try {
10835 enterOuterAlt(_localctx, 1);
10836 {
10837 setState(1856);
10838 variableName();
10839 }
10840 }
10841 catch (RecognitionException re) {
10842 _localctx.exception = re;
10843 _errHandler.reportError(this, re);
10844 _errHandler.recover(this, re);
10845 }
10846 finally {
10847 exitRule();
10848 }
10849 return _localctx;
10850 }
10851
10852 public static class EntityTypeContext extends ParserRuleContext {
10853 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
10854 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
10855 public EntityTypeContext(ParserRuleContext parent, int invokingState) {
10856 super(parent, invokingState);
10857 }
10858 @Override public int getRuleIndex() { return RULE_entityType; }
10859 @Override
10860 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10861 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEntityType(this);
10862 else return visitor.visitChildren(this);
10863 }
10864 }
10865
10866 public final EntityTypeContext entityType() throws RecognitionException {
10867 EntityTypeContext _localctx = new EntityTypeContext(_ctx, getState());
10868 enterRule(_localctx, 220, RULE_entityType);
10869 int _la;
10870 try {
10871 enterOuterAlt(_localctx, 1);
10872 {
10873 setState(1858);
10874 _la = _input.LA(1);
10875 if ( !(_la==TYPE || _la==OBJECT) ) {
10876 _errHandler.recoverInline(this);
10877 }
10878 else {
10879 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
10880 _errHandler.reportMatch(this);
10881 consume();
10882 }
10883 }
10884 }
10885 catch (RecognitionException re) {
10886 _localctx.exception = re;
10887 _errHandler.reportError(this, re);
10888 _errHandler.recover(this, re);
10889 }
10890 finally {
10891 exitRule();
10892 }
10893 return _localctx;
10894 }
10895
10896 public static class IfExistsContext extends ParserRuleContext {
10897 public TerminalNode IF() { return getToken(SQLServerStatementParser.IF, 0); }
10898 public TerminalNode EXISTS() { return getToken(SQLServerStatementParser.EXISTS, 0); }
10899 public IfExistsContext(ParserRuleContext parent, int invokingState) {
10900 super(parent, invokingState);
10901 }
10902 @Override public int getRuleIndex() { return RULE_ifExists; }
10903 @Override
10904 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10905 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIfExists(this);
10906 else return visitor.visitChildren(this);
10907 }
10908 }
10909
10910 public final IfExistsContext ifExists() throws RecognitionException {
10911 IfExistsContext _localctx = new IfExistsContext(_ctx, getState());
10912 enterRule(_localctx, 222, RULE_ifExists);
10913 try {
10914 enterOuterAlt(_localctx, 1);
10915 {
10916 setState(1860);
10917 match(IF);
10918 setState(1861);
10919 match(EXISTS);
10920 }
10921 }
10922 catch (RecognitionException re) {
10923 _localctx.exception = re;
10924 _errHandler.reportError(this, re);
10925 _errHandler.recover(this, re);
10926 }
10927 finally {
10928 exitRule();
10929 }
10930 return _localctx;
10931 }
10932
10933 public static class CallContext extends ParserRuleContext {
10934 public TerminalNode CALL() { return getToken(SQLServerStatementParser.CALL, 0); }
10935 public CallContext(ParserRuleContext parent, int invokingState) {
10936 super(parent, invokingState);
10937 }
10938 @Override public int getRuleIndex() { return RULE_call; }
10939 @Override
10940 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10941 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCall(this);
10942 else return visitor.visitChildren(this);
10943 }
10944 }
10945
10946 public final CallContext call() throws RecognitionException {
10947 CallContext _localctx = new CallContext(_ctx, getState());
10948 enterRule(_localctx, 224, RULE_call);
10949 try {
10950 enterOuterAlt(_localctx, 1);
10951 {
10952 setState(1863);
10953 match(CALL);
10954 }
10955 }
10956 catch (RecognitionException re) {
10957 _localctx.exception = re;
10958 _errHandler.reportError(this, re);
10959 _errHandler.recover(this, re);
10960 }
10961 finally {
10962 exitRule();
10963 }
10964 return _localctx;
10965 }
10966
10967 public static class ExplainContext extends ParserRuleContext {
10968 public TerminalNode EXPLAIN() { return getToken(SQLServerStatementParser.EXPLAIN, 0); }
10969 public ExplainableStatementContext explainableStatement() {
10970 return getRuleContext(ExplainableStatementContext.class,0);
10971 }
10972 public TerminalNode WITH_RECOMMENDATIONS() { return getToken(SQLServerStatementParser.WITH_RECOMMENDATIONS, 0); }
10973 public ExplainContext(ParserRuleContext parent, int invokingState) {
10974 super(parent, invokingState);
10975 }
10976 @Override public int getRuleIndex() { return RULE_explain; }
10977 @Override
10978 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
10979 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExplain(this);
10980 else return visitor.visitChildren(this);
10981 }
10982 }
10983
10984 public final ExplainContext explain() throws RecognitionException {
10985 ExplainContext _localctx = new ExplainContext(_ctx, getState());
10986 enterRule(_localctx, 226, RULE_explain);
10987 int _la;
10988 try {
10989 enterOuterAlt(_localctx, 1);
10990 {
10991 setState(1865);
10992 match(EXPLAIN);
10993 setState(1867);
10994 _errHandler.sync(this);
10995 _la = _input.LA(1);
10996 if (_la==WITH_RECOMMENDATIONS) {
10997 {
10998 setState(1866);
10999 match(WITH_RECOMMENDATIONS);
11000 }
11001 }
11002
11003 setState(1869);
11004 explainableStatement();
11005 }
11006 }
11007 catch (RecognitionException re) {
11008 _localctx.exception = re;
11009 _errHandler.reportError(this, re);
11010 _errHandler.recover(this, re);
11011 }
11012 finally {
11013 exitRule();
11014 }
11015 return _localctx;
11016 }
11017
11018 public static class ExplainableStatementContext extends ParserRuleContext {
11019 public SelectContext select() {
11020 return getRuleContext(SelectContext.class,0);
11021 }
11022 public InsertContext insert() {
11023 return getRuleContext(InsertContext.class,0);
11024 }
11025 public UpdateContext update() {
11026 return getRuleContext(UpdateContext.class,0);
11027 }
11028 public DeleteContext delete() {
11029 return getRuleContext(DeleteContext.class,0);
11030 }
11031 public CreateTableAsSelectClauseContext createTableAsSelectClause() {
11032 return getRuleContext(CreateTableAsSelectClauseContext.class,0);
11033 }
11034 public ExplainableStatementContext(ParserRuleContext parent, int invokingState) {
11035 super(parent, invokingState);
11036 }
11037 @Override public int getRuleIndex() { return RULE_explainableStatement; }
11038 @Override
11039 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11040 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExplainableStatement(this);
11041 else return visitor.visitChildren(this);
11042 }
11043 }
11044
11045 public final ExplainableStatementContext explainableStatement() throws RecognitionException {
11046 ExplainableStatementContext _localctx = new ExplainableStatementContext(_ctx, getState());
11047 enterRule(_localctx, 228, RULE_explainableStatement);
11048 try {
11049 setState(1876);
11050 _errHandler.sync(this);
11051 switch ( getInterpreter().adaptivePredict(_input,109,_ctx) ) {
11052 case 1:
11053 enterOuterAlt(_localctx, 1);
11054 {
11055 setState(1871);
11056 select();
11057 }
11058 break;
11059 case 2:
11060 enterOuterAlt(_localctx, 2);
11061 {
11062 setState(1872);
11063 insert();
11064 }
11065 break;
11066 case 3:
11067 enterOuterAlt(_localctx, 3);
11068 {
11069 setState(1873);
11070 update();
11071 }
11072 break;
11073 case 4:
11074 enterOuterAlt(_localctx, 4);
11075 {
11076 setState(1874);
11077 delete();
11078 }
11079 break;
11080 case 5:
11081 enterOuterAlt(_localctx, 5);
11082 {
11083 setState(1875);
11084 createTableAsSelectClause();
11085 }
11086 break;
11087 }
11088 }
11089 catch (RecognitionException re) {
11090 _localctx.exception = re;
11091 _errHandler.reportError(this, re);
11092 _errHandler.recover(this, re);
11093 }
11094 finally {
11095 exitRule();
11096 }
11097 return _localctx;
11098 }
11099
11100 public static class CreateTableContext extends ParserRuleContext {
11101 public CreateTableClauseContext createTableClause() {
11102 return getRuleContext(CreateTableClauseContext.class,0);
11103 }
11104 public CreateTableAsSelectClauseContext createTableAsSelectClause() {
11105 return getRuleContext(CreateTableAsSelectClauseContext.class,0);
11106 }
11107 public CreateTableContext(ParserRuleContext parent, int invokingState) {
11108 super(parent, invokingState);
11109 }
11110 @Override public int getRuleIndex() { return RULE_createTable; }
11111 @Override
11112 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11113 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTable(this);
11114 else return visitor.visitChildren(this);
11115 }
11116 }
11117
11118 public final CreateTableContext createTable() throws RecognitionException {
11119 CreateTableContext _localctx = new CreateTableContext(_ctx, getState());
11120 enterRule(_localctx, 230, RULE_createTable);
11121 try {
11122 setState(1880);
11123 _errHandler.sync(this);
11124 switch ( getInterpreter().adaptivePredict(_input,110,_ctx) ) {
11125 case 1:
11126 enterOuterAlt(_localctx, 1);
11127 {
11128 setState(1878);
11129 createTableClause();
11130 }
11131 break;
11132 case 2:
11133 enterOuterAlt(_localctx, 2);
11134 {
11135 setState(1879);
11136 createTableAsSelectClause();
11137 }
11138 break;
11139 }
11140 }
11141 catch (RecognitionException re) {
11142 _localctx.exception = re;
11143 _errHandler.reportError(this, re);
11144 _errHandler.recover(this, re);
11145 }
11146 finally {
11147 exitRule();
11148 }
11149 return _localctx;
11150 }
11151
11152 public static class CreateTableClauseContext extends ParserRuleContext {
11153 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11154 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
11155 public TableNameContext tableName() {
11156 return getRuleContext(TableNameContext.class,0);
11157 }
11158 public FileTableClauseContext fileTableClause() {
11159 return getRuleContext(FileTableClauseContext.class,0);
11160 }
11161 public CreateDefinitionClauseContext createDefinitionClause() {
11162 return getRuleContext(CreateDefinitionClauseContext.class,0);
11163 }
11164 public CreateTableClauseContext(ParserRuleContext parent, int invokingState) {
11165 super(parent, invokingState);
11166 }
11167 @Override public int getRuleIndex() { return RULE_createTableClause; }
11168 @Override
11169 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11170 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableClause(this);
11171 else return visitor.visitChildren(this);
11172 }
11173 }
11174
11175 public final CreateTableClauseContext createTableClause() throws RecognitionException {
11176 CreateTableClauseContext _localctx = new CreateTableClauseContext(_ctx, getState());
11177 enterRule(_localctx, 232, RULE_createTableClause);
11178 try {
11179 enterOuterAlt(_localctx, 1);
11180 {
11181 setState(1882);
11182 match(CREATE);
11183 setState(1883);
11184 match(TABLE);
11185 setState(1884);
11186 tableName();
11187 setState(1885);
11188 fileTableClause();
11189 setState(1886);
11190 createDefinitionClause();
11191 }
11192 }
11193 catch (RecognitionException re) {
11194 _localctx.exception = re;
11195 _errHandler.reportError(this, re);
11196 _errHandler.recover(this, re);
11197 }
11198 finally {
11199 exitRule();
11200 }
11201 return _localctx;
11202 }
11203
11204 public static class CreateIndexContext extends ParserRuleContext {
11205 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11206 public CreateIndexSpecificationContext createIndexSpecification() {
11207 return getRuleContext(CreateIndexSpecificationContext.class,0);
11208 }
11209 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
11210 public IndexNameContext indexName() {
11211 return getRuleContext(IndexNameContext.class,0);
11212 }
11213 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11214 public TableNameContext tableName() {
11215 return getRuleContext(TableNameContext.class,0);
11216 }
11217 public ColumnNamesWithSortContext columnNamesWithSort() {
11218 return getRuleContext(ColumnNamesWithSortContext.class,0);
11219 }
11220 public CreateIndexClauseContext createIndexClause() {
11221 return getRuleContext(CreateIndexClauseContext.class,0);
11222 }
11223 public CreateIndexContext(ParserRuleContext parent, int invokingState) {
11224 super(parent, invokingState);
11225 }
11226 @Override public int getRuleIndex() { return RULE_createIndex; }
11227 @Override
11228 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11229 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndex(this);
11230 else return visitor.visitChildren(this);
11231 }
11232 }
11233
11234 public final CreateIndexContext createIndex() throws RecognitionException {
11235 CreateIndexContext _localctx = new CreateIndexContext(_ctx, getState());
11236 enterRule(_localctx, 234, RULE_createIndex);
11237 try {
11238 enterOuterAlt(_localctx, 1);
11239 {
11240 setState(1888);
11241 match(CREATE);
11242 setState(1889);
11243 createIndexSpecification();
11244 setState(1890);
11245 match(INDEX);
11246 setState(1891);
11247 indexName();
11248 setState(1892);
11249 match(ON);
11250 setState(1893);
11251 tableName();
11252 setState(1894);
11253 columnNamesWithSort();
11254 setState(1895);
11255 createIndexClause();
11256 }
11257 }
11258 catch (RecognitionException re) {
11259 _localctx.exception = re;
11260 _errHandler.reportError(this, re);
11261 _errHandler.recover(this, re);
11262 }
11263 finally {
11264 exitRule();
11265 }
11266 return _localctx;
11267 }
11268
11269 public static class CreateDatabaseContext extends ParserRuleContext {
11270 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11271 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
11272 public DatabaseNameContext databaseName() {
11273 return getRuleContext(DatabaseNameContext.class,0);
11274 }
11275 public CreateDatabaseClauseContext createDatabaseClause() {
11276 return getRuleContext(CreateDatabaseClauseContext.class,0);
11277 }
11278 public CreateDatabaseContext(ParserRuleContext parent, int invokingState) {
11279 super(parent, invokingState);
11280 }
11281 @Override public int getRuleIndex() { return RULE_createDatabase; }
11282 @Override
11283 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11284 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDatabase(this);
11285 else return visitor.visitChildren(this);
11286 }
11287 }
11288
11289 public final CreateDatabaseContext createDatabase() throws RecognitionException {
11290 CreateDatabaseContext _localctx = new CreateDatabaseContext(_ctx, getState());
11291 enterRule(_localctx, 236, RULE_createDatabase);
11292 try {
11293 enterOuterAlt(_localctx, 1);
11294 {
11295 setState(1897);
11296 match(CREATE);
11297 setState(1898);
11298 match(DATABASE);
11299 setState(1899);
11300 databaseName();
11301 setState(1900);
11302 createDatabaseClause();
11303 }
11304 }
11305 catch (RecognitionException re) {
11306 _localctx.exception = re;
11307 _errHandler.reportError(this, re);
11308 _errHandler.recover(this, re);
11309 }
11310 finally {
11311 exitRule();
11312 }
11313 return _localctx;
11314 }
11315
11316 public static class CreateFunctionContext extends ParserRuleContext {
11317 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11318 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
11319 public FunctionNameContext functionName() {
11320 return getRuleContext(FunctionNameContext.class,0);
11321 }
11322 public FuncParametersContext funcParameters() {
11323 return getRuleContext(FuncParametersContext.class,0);
11324 }
11325 public FuncReturnsContext funcReturns() {
11326 return getRuleContext(FuncReturnsContext.class,0);
11327 }
11328 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
11329 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11330 public CreateFunctionContext(ParserRuleContext parent, int invokingState) {
11331 super(parent, invokingState);
11332 }
11333 @Override public int getRuleIndex() { return RULE_createFunction; }
11334 @Override
11335 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11336 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateFunction(this);
11337 else return visitor.visitChildren(this);
11338 }
11339 }
11340
11341 public final CreateFunctionContext createFunction() throws RecognitionException {
11342 CreateFunctionContext _localctx = new CreateFunctionContext(_ctx, getState());
11343 enterRule(_localctx, 238, RULE_createFunction);
11344 int _la;
11345 try {
11346 enterOuterAlt(_localctx, 1);
11347 {
11348 setState(1902);
11349 match(CREATE);
11350 setState(1905);
11351 _errHandler.sync(this);
11352 _la = _input.LA(1);
11353 if (_la==OR) {
11354 {
11355 setState(1903);
11356 match(OR);
11357 setState(1904);
11358 match(ALTER);
11359 }
11360 }
11361
11362 setState(1907);
11363 match(FUNCTION);
11364 setState(1908);
11365 functionName();
11366 setState(1909);
11367 funcParameters();
11368 setState(1910);
11369 funcReturns();
11370 }
11371 }
11372 catch (RecognitionException re) {
11373 _localctx.exception = re;
11374 _errHandler.reportError(this, re);
11375 _errHandler.recover(this, re);
11376 }
11377 finally {
11378 exitRule();
11379 }
11380 return _localctx;
11381 }
11382
11383 public static class CreateProcedureContext extends ParserRuleContext {
11384 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11385 public ProcedureNameContext procedureName() {
11386 return getRuleContext(ProcedureNameContext.class,0);
11387 }
11388 public ProcParametersContext procParameters() {
11389 return getRuleContext(ProcParametersContext.class,0);
11390 }
11391 public CreateOrAlterProcClauseContext createOrAlterProcClause() {
11392 return getRuleContext(CreateOrAlterProcClauseContext.class,0);
11393 }
11394 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
11395 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
11396 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
11397 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11398 public CreateProcedureContext(ParserRuleContext parent, int invokingState) {
11399 super(parent, invokingState);
11400 }
11401 @Override public int getRuleIndex() { return RULE_createProcedure; }
11402 @Override
11403 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11404 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateProcedure(this);
11405 else return visitor.visitChildren(this);
11406 }
11407 }
11408
11409 public final CreateProcedureContext createProcedure() throws RecognitionException {
11410 CreateProcedureContext _localctx = new CreateProcedureContext(_ctx, getState());
11411 enterRule(_localctx, 240, RULE_createProcedure);
11412 int _la;
11413 try {
11414 enterOuterAlt(_localctx, 1);
11415 {
11416 setState(1912);
11417 match(CREATE);
11418 setState(1915);
11419 _errHandler.sync(this);
11420 _la = _input.LA(1);
11421 if (_la==OR) {
11422 {
11423 setState(1913);
11424 match(OR);
11425 setState(1914);
11426 match(ALTER);
11427 }
11428 }
11429
11430 setState(1917);
11431 _la = _input.LA(1);
11432 if ( !(_la==PROCEDURE || _la==PROC) ) {
11433 _errHandler.recoverInline(this);
11434 }
11435 else {
11436 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
11437 _errHandler.reportMatch(this);
11438 consume();
11439 }
11440 setState(1918);
11441 procedureName();
11442 setState(1919);
11443 procParameters();
11444 setState(1920);
11445 createOrAlterProcClause();
11446 }
11447 }
11448 catch (RecognitionException re) {
11449 _localctx.exception = re;
11450 _errHandler.reportError(this, re);
11451 _errHandler.recover(this, re);
11452 }
11453 finally {
11454 exitRule();
11455 }
11456 return _localctx;
11457 }
11458
11459 public static class CreateViewContext extends ParserRuleContext {
11460 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11461 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
11462 public ViewNameContext viewName() {
11463 return getRuleContext(ViewNameContext.class,0);
11464 }
11465 public CreateOrAlterViewClauseContext createOrAlterViewClause() {
11466 return getRuleContext(CreateOrAlterViewClauseContext.class,0);
11467 }
11468 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
11469 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11470 public CreateViewContext(ParserRuleContext parent, int invokingState) {
11471 super(parent, invokingState);
11472 }
11473 @Override public int getRuleIndex() { return RULE_createView; }
11474 @Override
11475 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11476 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateView(this);
11477 else return visitor.visitChildren(this);
11478 }
11479 }
11480
11481 public final CreateViewContext createView() throws RecognitionException {
11482 CreateViewContext _localctx = new CreateViewContext(_ctx, getState());
11483 enterRule(_localctx, 242, RULE_createView);
11484 int _la;
11485 try {
11486 enterOuterAlt(_localctx, 1);
11487 {
11488 setState(1922);
11489 match(CREATE);
11490 setState(1925);
11491 _errHandler.sync(this);
11492 _la = _input.LA(1);
11493 if (_la==OR) {
11494 {
11495 setState(1923);
11496 match(OR);
11497 setState(1924);
11498 match(ALTER);
11499 }
11500 }
11501
11502 setState(1927);
11503 match(VIEW);
11504 setState(1928);
11505 viewName();
11506 setState(1929);
11507 createOrAlterViewClause();
11508 }
11509 }
11510 catch (RecognitionException re) {
11511 _localctx.exception = re;
11512 _errHandler.reportError(this, re);
11513 _errHandler.recover(this, re);
11514 }
11515 finally {
11516 exitRule();
11517 }
11518 return _localctx;
11519 }
11520
11521 public static class CreateTriggerContext extends ParserRuleContext {
11522 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11523 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
11524 public TriggerNameContext triggerName() {
11525 return getRuleContext(TriggerNameContext.class,0);
11526 }
11527 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11528 public TriggerTargetContext triggerTarget() {
11529 return getRuleContext(TriggerTargetContext.class,0);
11530 }
11531 public CreateTriggerClauseContext createTriggerClause() {
11532 return getRuleContext(CreateTriggerClauseContext.class,0);
11533 }
11534 public TerminalNode OR() { return getToken(SQLServerStatementParser.OR, 0); }
11535 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11536 public CreateTriggerContext(ParserRuleContext parent, int invokingState) {
11537 super(parent, invokingState);
11538 }
11539 @Override public int getRuleIndex() { return RULE_createTrigger; }
11540 @Override
11541 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11542 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTrigger(this);
11543 else return visitor.visitChildren(this);
11544 }
11545 }
11546
11547 public final CreateTriggerContext createTrigger() throws RecognitionException {
11548 CreateTriggerContext _localctx = new CreateTriggerContext(_ctx, getState());
11549 enterRule(_localctx, 244, RULE_createTrigger);
11550 int _la;
11551 try {
11552 enterOuterAlt(_localctx, 1);
11553 {
11554 setState(1931);
11555 match(CREATE);
11556 setState(1934);
11557 _errHandler.sync(this);
11558 _la = _input.LA(1);
11559 if (_la==OR) {
11560 {
11561 setState(1932);
11562 match(OR);
11563 setState(1933);
11564 match(ALTER);
11565 }
11566 }
11567
11568 setState(1936);
11569 match(TRIGGER);
11570 setState(1937);
11571 triggerName();
11572 setState(1938);
11573 match(ON);
11574 setState(1939);
11575 triggerTarget();
11576 setState(1940);
11577 createTriggerClause();
11578 }
11579 }
11580 catch (RecognitionException re) {
11581 _localctx.exception = re;
11582 _errHandler.reportError(this, re);
11583 _errHandler.recover(this, re);
11584 }
11585 finally {
11586 exitRule();
11587 }
11588 return _localctx;
11589 }
11590
11591 public static class CreateSequenceContext extends ParserRuleContext {
11592 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11593 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
11594 public SequenceNameContext sequenceName() {
11595 return getRuleContext(SequenceNameContext.class,0);
11596 }
11597 public List<CreateOrAlterSequenceClauseContext> createOrAlterSequenceClause() {
11598 return getRuleContexts(CreateOrAlterSequenceClauseContext.class);
11599 }
11600 public CreateOrAlterSequenceClauseContext createOrAlterSequenceClause(int i) {
11601 return getRuleContext(CreateOrAlterSequenceClauseContext.class,i);
11602 }
11603 public CreateSequenceContext(ParserRuleContext parent, int invokingState) {
11604 super(parent, invokingState);
11605 }
11606 @Override public int getRuleIndex() { return RULE_createSequence; }
11607 @Override
11608 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11609 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateSequence(this);
11610 else return visitor.visitChildren(this);
11611 }
11612 }
11613
11614 public final CreateSequenceContext createSequence() throws RecognitionException {
11615 CreateSequenceContext _localctx = new CreateSequenceContext(_ctx, getState());
11616 enterRule(_localctx, 246, RULE_createSequence);
11617 int _la;
11618 try {
11619 enterOuterAlt(_localctx, 1);
11620 {
11621 setState(1942);
11622 match(CREATE);
11623 setState(1943);
11624 match(SEQUENCE);
11625 setState(1944);
11626 sequenceName();
11627 setState(1948);
11628 _errHandler.sync(this);
11629 _la = _input.LA(1);
11630 while (_la==AS || _la==NO || _la==START || ((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (INCREMENT - 522)) | (1L << (CYCLE - 522)) | (1L << (CACHE - 522)) | (1L << (MINVALUE - 522)) | (1L << (MAXVALUE - 522)) | (1L << (RESTART - 522)))) != 0)) {
11631 {
11632 {
11633 setState(1945);
11634 createOrAlterSequenceClause();
11635 }
11636 }
11637 setState(1950);
11638 _errHandler.sync(this);
11639 _la = _input.LA(1);
11640 }
11641 }
11642 }
11643 catch (RecognitionException re) {
11644 _localctx.exception = re;
11645 _errHandler.reportError(this, re);
11646 _errHandler.recover(this, re);
11647 }
11648 finally {
11649 exitRule();
11650 }
11651 return _localctx;
11652 }
11653
11654 public static class CreateServiceContext extends ParserRuleContext {
11655 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11656 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
11657 public ServiceNameContext serviceName() {
11658 return getRuleContext(ServiceNameContext.class,0);
11659 }
11660 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11661 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
11662 public QueueNameContext queueName() {
11663 return getRuleContext(QueueNameContext.class,0);
11664 }
11665 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
11666 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
11667 public CreateServiceClauseContext createServiceClause() {
11668 return getRuleContext(CreateServiceClauseContext.class,0);
11669 }
11670 public CreateServiceContext(ParserRuleContext parent, int invokingState) {
11671 super(parent, invokingState);
11672 }
11673 @Override public int getRuleIndex() { return RULE_createService; }
11674 @Override
11675 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11676 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateService(this);
11677 else return visitor.visitChildren(this);
11678 }
11679 }
11680
11681 public final CreateServiceContext createService() throws RecognitionException {
11682 CreateServiceContext _localctx = new CreateServiceContext(_ctx, getState());
11683 enterRule(_localctx, 248, RULE_createService);
11684 int _la;
11685 try {
11686 enterOuterAlt(_localctx, 1);
11687 {
11688 setState(1951);
11689 match(CREATE);
11690 setState(1952);
11691 match(SERVICE);
11692 setState(1953);
11693 serviceName();
11694 setState(1956);
11695 _errHandler.sync(this);
11696 _la = _input.LA(1);
11697 if (_la==AUTHORIZATION) {
11698 {
11699 setState(1954);
11700 match(AUTHORIZATION);
11701 setState(1955);
11702 match(STRING_);
11703 }
11704 }
11705
11706 setState(1958);
11707 match(ON);
11708 setState(1959);
11709 match(QUEUE);
11710 setState(1960);
11711 queueName();
11712 setState(1962);
11713 _errHandler.sync(this);
11714 _la = _input.LA(1);
11715 if (_la==LP_) {
11716 {
11717 setState(1961);
11718 createServiceClause();
11719 }
11720 }
11721
11722 }
11723 }
11724 catch (RecognitionException re) {
11725 _localctx.exception = re;
11726 _errHandler.reportError(this, re);
11727 _errHandler.recover(this, re);
11728 }
11729 finally {
11730 exitRule();
11731 }
11732 return _localctx;
11733 }
11734
11735 public static class CreateSchemaContext extends ParserRuleContext {
11736 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
11737 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
11738 public SchemaNameClauseContext schemaNameClause() {
11739 return getRuleContext(SchemaNameClauseContext.class,0);
11740 }
11741 public List<SchemaElementContext> schemaElement() {
11742 return getRuleContexts(SchemaElementContext.class);
11743 }
11744 public SchemaElementContext schemaElement(int i) {
11745 return getRuleContext(SchemaElementContext.class,i);
11746 }
11747 public CreateSchemaContext(ParserRuleContext parent, int invokingState) {
11748 super(parent, invokingState);
11749 }
11750 @Override public int getRuleIndex() { return RULE_createSchema; }
11751 @Override
11752 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11753 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateSchema(this);
11754 else return visitor.visitChildren(this);
11755 }
11756 }
11757
11758 public final CreateSchemaContext createSchema() throws RecognitionException {
11759 CreateSchemaContext _localctx = new CreateSchemaContext(_ctx, getState());
11760 enterRule(_localctx, 250, RULE_createSchema);
11761 int _la;
11762 try {
11763 enterOuterAlt(_localctx, 1);
11764 {
11765 setState(1964);
11766 match(CREATE);
11767 setState(1965);
11768 match(SCHEMA);
11769 setState(1966);
11770 schemaNameClause();
11771 setState(1970);
11772 _errHandler.sync(this);
11773 _la = _input.LA(1);
11774 while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << CREATE) | (1L << GRANT) | (1L << REVOKE))) != 0) || _la==DENY) {
11775 {
11776 {
11777 setState(1967);
11778 schemaElement();
11779 }
11780 }
11781 setState(1972);
11782 _errHandler.sync(this);
11783 _la = _input.LA(1);
11784 }
11785 }
11786 }
11787 catch (RecognitionException re) {
11788 _localctx.exception = re;
11789 _errHandler.reportError(this, re);
11790 _errHandler.recover(this, re);
11791 }
11792 finally {
11793 exitRule();
11794 }
11795 return _localctx;
11796 }
11797
11798 public static class AlterTableContext extends ParserRuleContext {
11799 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11800 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
11801 public TableNameContext tableName() {
11802 return getRuleContext(TableNameContext.class,0);
11803 }
11804 public List<AlterDefinitionClauseContext> alterDefinitionClause() {
11805 return getRuleContexts(AlterDefinitionClauseContext.class);
11806 }
11807 public AlterDefinitionClauseContext alterDefinitionClause(int i) {
11808 return getRuleContext(AlterDefinitionClauseContext.class,i);
11809 }
11810 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
11811 public TerminalNode COMMA_(int i) {
11812 return getToken(SQLServerStatementParser.COMMA_, i);
11813 }
11814 public AlterTableContext(ParserRuleContext parent, int invokingState) {
11815 super(parent, invokingState);
11816 }
11817 @Override public int getRuleIndex() { return RULE_alterTable; }
11818 @Override
11819 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11820 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTable(this);
11821 else return visitor.visitChildren(this);
11822 }
11823 }
11824
11825 public final AlterTableContext alterTable() throws RecognitionException {
11826 AlterTableContext _localctx = new AlterTableContext(_ctx, getState());
11827 enterRule(_localctx, 252, RULE_alterTable);
11828 int _la;
11829 try {
11830 enterOuterAlt(_localctx, 1);
11831 {
11832 setState(1973);
11833 match(ALTER);
11834 setState(1974);
11835 match(TABLE);
11836 setState(1975);
11837 tableName();
11838 setState(1976);
11839 alterDefinitionClause();
11840 setState(1981);
11841 _errHandler.sync(this);
11842 _la = _input.LA(1);
11843 while (_la==COMMA_) {
11844 {
11845 {
11846 setState(1977);
11847 match(COMMA_);
11848 setState(1978);
11849 alterDefinitionClause();
11850 }
11851 }
11852 setState(1983);
11853 _errHandler.sync(this);
11854 _la = _input.LA(1);
11855 }
11856 }
11857 }
11858 catch (RecognitionException re) {
11859 _localctx.exception = re;
11860 _errHandler.reportError(this, re);
11861 _errHandler.recover(this, re);
11862 }
11863 finally {
11864 exitRule();
11865 }
11866 return _localctx;
11867 }
11868
11869 public static class AlterIndexContext extends ParserRuleContext {
11870 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
11871 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
11872 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
11873 public TableNameContext tableName() {
11874 return getRuleContext(TableNameContext.class,0);
11875 }
11876 public AlterIndexClauseContext alterIndexClause() {
11877 return getRuleContext(AlterIndexClauseContext.class,0);
11878 }
11879 public IndexNameContext indexName() {
11880 return getRuleContext(IndexNameContext.class,0);
11881 }
11882 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
11883 public AlterIndexContext(ParserRuleContext parent, int invokingState) {
11884 super(parent, invokingState);
11885 }
11886 @Override public int getRuleIndex() { return RULE_alterIndex; }
11887 @Override
11888 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
11889 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterIndex(this);
11890 else return visitor.visitChildren(this);
11891 }
11892 }
11893
11894 public final AlterIndexContext alterIndex() throws RecognitionException {
11895 AlterIndexContext _localctx = new AlterIndexContext(_ctx, getState());
11896 enterRule(_localctx, 254, RULE_alterIndex);
11897 try {
11898 enterOuterAlt(_localctx, 1);
11899 {
11900 setState(1984);
11901 match(ALTER);
11902 setState(1985);
11903 match(INDEX);
11904 setState(1988);
11905 _errHandler.sync(this);
11906 switch (_input.LA(1)) {
11907 case TRUNCATE:
11908 case SCHEMA:
11909 case FUNCTION:
11910 case TRIGGER:
11911 case CAST:
11912 case GROUP:
11913 case LIMIT:
11914 case OFFSET:
11915 case SAVEPOINT:
11916 case BOOLEAN:
11917 case ARRAY:
11918 case DATE:
11919 case LOCALTIME:
11920 case LOCALTIMESTAMP:
11921 case QUARTER:
11922 case WEEK:
11923 case DAY:
11924 case MICROSECOND:
11925 case MAX:
11926 case MIN:
11927 case SUM:
11928 case COUNT:
11929 case AVG:
11930 case ENABLE:
11931 case DISABLE:
11932 case INSTANCE:
11933 case DO:
11934 case DEFINER:
11935 case SQL:
11936 case CASCADED:
11937 case LOCAL:
11938 case NEXT:
11939 case NAME:
11940 case INTEGER:
11941 case TYPE:
11942 case READ_ONLY:
11943 case DATABASE:
11944 case DATEPART:
11945 case PASSWORD:
11946 case BINARY:
11947 case HIDDEN_:
11948 case MOD:
11949 case PARTITION:
11950 case PARTITIONS:
11951 case TOP:
11952 case ROW:
11953 case ROWS:
11954 case XOR:
11955 case ALWAYS:
11956 case ROLE:
11957 case START:
11958 case ALGORITHM:
11959 case AUTO:
11960 case BLOCKERS:
11961 case CLUSTERED:
11962 case NONCLUSTERED:
11963 case COLUMNSTORE:
11964 case CONTENT:
11965 case YEARS:
11966 case MONTHS:
11967 case WEEKS:
11968 case DAYS:
11969 case MINUTES:
11970 case DENY:
11971 case DETERMINISTIC:
11972 case DISTRIBUTION:
11973 case DOCUMENT:
11974 case DURABILITY:
11975 case ENCRYPTED:
11976 case FILESTREAM:
11977 case FILETABLE:
11978 case FILLFACTOR:
11979 case FOLLOWING:
11980 case HASH:
11981 case HEAP:
11982 case INBOUND:
11983 case OUTBOUND:
11984 case UNBOUNDED:
11985 case INFINITE:
11986 case LOGIN:
11987 case MASKED:
11988 case MAXDOP:
11989 case MOVE:
11990 case NOCHECK:
11991 case OBJECT:
11992 case OFF:
11993 case ONLINE:
11994 case OVER:
11995 case PAGE:
11996 case PAUSED:
11997 case PERIOD:
11998 case PERSISTED:
11999 case PRECEDING:
12000 case RANDOMIZED:
12001 case RANGE:
12002 case REBUILD:
12003 case REPLICATE:
12004 case REPLICATION:
12005 case RESUMABLE:
12006 case ROWGUIDCOL:
12007 case SAVE:
12008 case SELF:
12009 case SPARSE:
12010 case SWITCH:
12011 case TRAN:
12012 case TRANCOUNT:
12013 case CONTROL:
12014 case CONCAT:
12015 case TAKE:
12016 case OWNERSHIP:
12017 case DEFINITION:
12018 case APPLICATION:
12019 case ASSEMBLY:
12020 case SYMMETRIC:
12021 case ASYMMETRIC:
12022 case SERVER:
12023 case RECEIVE:
12024 case CHANGE:
12025 case TRACE:
12026 case TRACKING:
12027 case RESOURCES:
12028 case SETTINGS:
12029 case STATE:
12030 case AVAILABILITY:
12031 case CREDENTIAL:
12032 case ENDPOINT:
12033 case EVENT:
12034 case NOTIFICATION:
12035 case LINKED:
12036 case AUDIT:
12037 case DDL:
12038 case XML:
12039 case IMPERSONATE:
12040 case SECURABLES:
12041 case AUTHENTICATE:
12042 case EXTERNAL:
12043 case ACCESS:
12044 case ADMINISTER:
12045 case BULK:
12046 case OPERATIONS:
12047 case UNSAFE:
12048 case SHUTDOWN:
12049 case SCOPED:
12050 case CONFIGURATION:
12051 case DATASPACE:
12052 case SERVICE:
12053 case CERTIFICATE:
12054 case CONTRACT:
12055 case ENCRYPTION:
12056 case MASTER:
12057 case DATA:
12058 case SOURCE:
12059 case FILE:
12060 case FORMAT:
12061 case LIBRARY:
12062 case FULLTEXT:
12063 case MASK:
12064 case UNMASK:
12065 case MESSAGE:
12066 case REMOTE:
12067 case BINDING:
12068 case ROUTE:
12069 case SECURITY:
12070 case POLICY:
12071 case AGGREGATE:
12072 case QUEUE:
12073 case RULE:
12074 case SYNONYM:
12075 case COLLECTION:
12076 case SCRIPT:
12077 case KILL:
12078 case BACKUP:
12079 case LOG:
12080 case SHOWPLAN:
12081 case SUBSCRIBE:
12082 case QUERY:
12083 case NOTIFICATIONS:
12084 case CHECKPOINT:
12085 case SEQUENCE:
12086 case ABORT_AFTER_WAIT:
12087 case ALLOW_PAGE_LOCKS:
12088 case ALLOW_ROW_LOCKS:
12089 case ALL_SPARSE_COLUMNS:
12090 case BUCKET_COUNT:
12091 case COLUMNSTORE_ARCHIVE:
12092 case COLUMN_ENCRYPTION_KEY:
12093 case COLUMN_SET:
12094 case COMPRESSION_DELAY:
12095 case DATABASE_DEAULT:
12096 case DATA_COMPRESSION:
12097 case DATA_CONSISTENCY_CHECK:
12098 case ENCRYPTION_TYPE:
12099 case SYSTEM_TIME:
12100 case SYSTEM_VERSIONING:
12101 case TEXTIMAGE_ON:
12102 case WAIT_AT_LOW_PRIORITY:
12103 case STATISTICS_INCREMENTAL:
12104 case STATISTICS_NORECOMPUTE:
12105 case ROUND_ROBIN:
12106 case SCHEMA_AND_DATA:
12107 case SCHEMA_ONLY:
12108 case SORT_IN_TEMPDB:
12109 case IGNORE_DUP_KEY:
12110 case IMPLICIT_TRANSACTIONS:
12111 case MAX_DURATION:
12112 case MEMORY_OPTIMIZED:
12113 case MIGRATION_STATE:
12114 case PAD_INDEX:
12115 case REMOTE_DATA_ARCHIVE:
12116 case FILESTREAM_ON:
12117 case FILETABLE_COLLATE_FILENAME:
12118 case FILETABLE_DIRECTORY:
12119 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
12120 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
12121 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
12122 case FILTER_PREDICATE:
12123 case HISTORY_RETENTION_PERIOD:
12124 case HISTORY_TABLE:
12125 case LOCK_ESCALATION:
12126 case DROP_EXISTING:
12127 case ROW_NUMBER:
12128 case FIRST:
12129 case DATETIME2:
12130 case OUTPUT:
12131 case INSERTED:
12132 case DELETED:
12133 case FILENAME:
12134 case MAXSIZE:
12135 case FILEGROWTH:
12136 case UNLIMITED:
12137 case KB:
12138 case MB:
12139 case GB:
12140 case TB:
12141 case MEMORY_OPTIMIZED_DATA:
12142 case FILEGROUP:
12143 case NON_TRANSACTED_ACCESS:
12144 case DB_CHAINING:
12145 case TRUSTWORTHY:
12146 case FORWARD_ONLY:
12147 case KEYSET:
12148 case FAST_FORWARD:
12149 case SCROLL_LOCKS:
12150 case OPTIMISTIC:
12151 case TYPE_WARNING:
12152 case SCHEMABINDING:
12153 case CALLER:
12154 case OWNER:
12155 case SNAPSHOT:
12156 case REPEATABLE:
12157 case SERIALIZABLE:
12158 case NATIVE_COMPILATION:
12159 case VIEW_METADATA:
12160 case INSTEAD:
12161 case APPEND:
12162 case INCREMENT:
12163 case CACHE:
12164 case MINVALUE:
12165 case MAXVALUE:
12166 case RESTART:
12167 case LOB_COMPACTION:
12168 case COMPRESS_ALL_ROW_GROUPS:
12169 case REORGANIZE:
12170 case RESUME:
12171 case PAUSE:
12172 case ABORT:
12173 case ACCELERATED_DATABASE_RECOVERY:
12174 case PERSISTENT_VERSION_STORE_FILEGROUP:
12175 case IMMEDIATE:
12176 case NO_WAIT:
12177 case TARGET_RECOVERY_TIME:
12178 case SECONDS:
12179 case HONOR_BROKER_PRIORITY:
12180 case ERROR_BROKER_CONVERSATIONS:
12181 case NEW_BROKER:
12182 case DISABLE_BROKER:
12183 case ENABLE_BROKER:
12184 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
12185 case READ_COMMITTED_SNAPSHOT:
12186 case ALLOW_SNAPSHOT_ISOLATION:
12187 case RECURSIVE_TRIGGERS:
12188 case QUOTED_IDENTIFIER:
12189 case NUMERIC_ROUNDABORT:
12190 case CONCAT_NULL_YIELDS_NULL:
12191 case COMPATIBILITY_LEVEL:
12192 case ARITHABORT:
12193 case ANSI_WARNINGS:
12194 case ANSI_PADDING:
12195 case ANSI_NULLS:
12196 case ANSI_NULL_DEFAULT:
12197 case PAGE_VERIFY:
12198 case CHECKSUM:
12199 case TORN_PAGE_DETECTION:
12200 case BULK_LOGGED:
12201 case RECOVERY:
12202 case TOTAL_EXECUTION_CPU_TIME_MS:
12203 case TOTAL_COMPILE_CPU_TIME_MS:
12204 case STALE_CAPTURE_POLICY_THRESHOLD:
12205 case EXECUTION_COUNT:
12206 case QUERY_CAPTURE_POLICY:
12207 case WAIT_STATS_CAPTURE_MODE:
12208 case MAX_PLANS_PER_QUERY:
12209 case QUERY_CAPTURE_MODE:
12210 case SIZE_BASED_CLEANUP_MODE:
12211 case INTERVAL_LENGTH_MINUTES:
12212 case MAX_STORAGE_SIZE_MB:
12213 case DATA_FLUSH_INTERVAL_SECONDS:
12214 case CLEANUP_POLICY:
12215 case CUSTOM:
12216 case STALE_QUERY_THRESHOLD_DAYS:
12217 case OPERATION_MODE:
12218 case QUERY_STORE:
12219 case CURSOR_DEFAULT:
12220 case GLOBAL:
12221 case CURSOR_CLOSE_ON_COMMIT:
12222 case HOURS:
12223 case CHANGE_RETENTION:
12224 case AUTO_CLEANUP:
12225 case CHANGE_TRACKING:
12226 case AUTOMATIC_TUNING:
12227 case FORCE_LAST_GOOD_PLAN:
12228 case AUTO_UPDATE_STATISTICS_ASYNC:
12229 case AUTO_UPDATE_STATISTICS:
12230 case AUTO_SHRINK:
12231 case AUTO_CREATE_STATISTICS:
12232 case INCREMENTAL:
12233 case AUTO_CLOSE:
12234 case DATA_RETENTION:
12235 case TEMPORAL_HISTORY_RETENTION:
12236 case EDITION:
12237 case MIXED_PAGE_ALLOCATION:
12238 case DISABLED:
12239 case ALLOWED:
12240 case HADR:
12241 case MULTI_USER:
12242 case RESTRICTED_USER:
12243 case SINGLE_USER:
12244 case OFFLINE:
12245 case EMERGENCY:
12246 case SUSPEND:
12247 case DATE_CORRELATION_OPTIMIZATION:
12248 case ELASTIC_POOL:
12249 case SERVICE_OBJECTIVE:
12250 case DATABASE_NAME:
12251 case ALLOW_CONNECTIONS:
12252 case GEO:
12253 case NAMED:
12254 case DATEFIRST:
12255 case BACKUP_STORAGE_REDUNDANCY:
12256 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
12257 case SECONDARY:
12258 case FAILOVER:
12259 case DEFAULT_FULLTEXT_LANGUAGE:
12260 case DEFAULT_LANGUAGE:
12261 case INLINE:
12262 case NESTED_TRIGGERS:
12263 case TRANSFORM_NOISE_WORDS:
12264 case TWO_DIGIT_YEAR_CUTOFF:
12265 case PERSISTENT_LOG_BUFFER:
12266 case DIRECTORY_NAME:
12267 case DATEFORMAT:
12268 case DELAYED_DURABILITY:
12269 case AUTHORIZATION:
12270 case TRANSFER:
12271 case SEARCH:
12272 case MEMBER:
12273 case IDENTIFIER_:
12274 case DELIMITED_IDENTIFIER_:
12275 {
12276 setState(1986);
12277 indexName();
12278 }
12279 break;
12280 case ALL:
12281 {
12282 setState(1987);
12283 match(ALL);
12284 }
12285 break;
12286 default:
12287 throw new NoViableAltException(this);
12288 }
12289 setState(1990);
12290 match(ON);
12291 setState(1991);
12292 tableName();
12293 setState(1992);
12294 alterIndexClause();
12295 }
12296 }
12297 catch (RecognitionException re) {
12298 _localctx.exception = re;
12299 _errHandler.reportError(this, re);
12300 _errHandler.recover(this, re);
12301 }
12302 finally {
12303 exitRule();
12304 }
12305 return _localctx;
12306 }
12307
12308 public static class AlterDatabaseContext extends ParserRuleContext {
12309 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12310 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
12311 public DatabaseNameContext databaseName() {
12312 return getRuleContext(DatabaseNameContext.class,0);
12313 }
12314 public TerminalNode CURRENT() { return getToken(SQLServerStatementParser.CURRENT, 0); }
12315 public List<AlterDatabaseClauseContext> alterDatabaseClause() {
12316 return getRuleContexts(AlterDatabaseClauseContext.class);
12317 }
12318 public AlterDatabaseClauseContext alterDatabaseClause(int i) {
12319 return getRuleContext(AlterDatabaseClauseContext.class,i);
12320 }
12321 public AlterDatabaseContext(ParserRuleContext parent, int invokingState) {
12322 super(parent, invokingState);
12323 }
12324 @Override public int getRuleIndex() { return RULE_alterDatabase; }
12325 @Override
12326 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12327 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabase(this);
12328 else return visitor.visitChildren(this);
12329 }
12330 }
12331
12332 public final AlterDatabaseContext alterDatabase() throws RecognitionException {
12333 AlterDatabaseContext _localctx = new AlterDatabaseContext(_ctx, getState());
12334 enterRule(_localctx, 256, RULE_alterDatabase);
12335 int _la;
12336 try {
12337 enterOuterAlt(_localctx, 1);
12338 {
12339 setState(1994);
12340 match(ALTER);
12341 setState(1995);
12342 match(DATABASE);
12343 setState(1998);
12344 _errHandler.sync(this);
12345 switch (_input.LA(1)) {
12346 case TRUNCATE:
12347 case SCHEMA:
12348 case FUNCTION:
12349 case TRIGGER:
12350 case CAST:
12351 case GROUP:
12352 case LIMIT:
12353 case OFFSET:
12354 case SAVEPOINT:
12355 case BOOLEAN:
12356 case ARRAY:
12357 case DATE:
12358 case LOCALTIME:
12359 case LOCALTIMESTAMP:
12360 case QUARTER:
12361 case WEEK:
12362 case DAY:
12363 case MICROSECOND:
12364 case MAX:
12365 case MIN:
12366 case SUM:
12367 case COUNT:
12368 case AVG:
12369 case ENABLE:
12370 case DISABLE:
12371 case INSTANCE:
12372 case DO:
12373 case DEFINER:
12374 case SQL:
12375 case CASCADED:
12376 case LOCAL:
12377 case NEXT:
12378 case NAME:
12379 case INTEGER:
12380 case TYPE:
12381 case READ_ONLY:
12382 case DATABASE:
12383 case DATEPART:
12384 case PASSWORD:
12385 case BINARY:
12386 case HIDDEN_:
12387 case MOD:
12388 case PARTITION:
12389 case PARTITIONS:
12390 case TOP:
12391 case ROW:
12392 case ROWS:
12393 case XOR:
12394 case ALWAYS:
12395 case ROLE:
12396 case START:
12397 case ALGORITHM:
12398 case AUTO:
12399 case BLOCKERS:
12400 case CLUSTERED:
12401 case NONCLUSTERED:
12402 case COLUMNSTORE:
12403 case CONTENT:
12404 case YEARS:
12405 case MONTHS:
12406 case WEEKS:
12407 case DAYS:
12408 case MINUTES:
12409 case DENY:
12410 case DETERMINISTIC:
12411 case DISTRIBUTION:
12412 case DOCUMENT:
12413 case DURABILITY:
12414 case ENCRYPTED:
12415 case FILESTREAM:
12416 case FILETABLE:
12417 case FILLFACTOR:
12418 case FOLLOWING:
12419 case HASH:
12420 case HEAP:
12421 case INBOUND:
12422 case OUTBOUND:
12423 case UNBOUNDED:
12424 case INFINITE:
12425 case LOGIN:
12426 case MASKED:
12427 case MAXDOP:
12428 case MOVE:
12429 case NOCHECK:
12430 case OBJECT:
12431 case OFF:
12432 case ONLINE:
12433 case OVER:
12434 case PAGE:
12435 case PAUSED:
12436 case PERIOD:
12437 case PERSISTED:
12438 case PRECEDING:
12439 case RANDOMIZED:
12440 case RANGE:
12441 case REBUILD:
12442 case REPLICATE:
12443 case REPLICATION:
12444 case RESUMABLE:
12445 case ROWGUIDCOL:
12446 case SAVE:
12447 case SELF:
12448 case SPARSE:
12449 case SWITCH:
12450 case TRAN:
12451 case TRANCOUNT:
12452 case CONTROL:
12453 case CONCAT:
12454 case TAKE:
12455 case OWNERSHIP:
12456 case DEFINITION:
12457 case APPLICATION:
12458 case ASSEMBLY:
12459 case SYMMETRIC:
12460 case ASYMMETRIC:
12461 case SERVER:
12462 case RECEIVE:
12463 case CHANGE:
12464 case TRACE:
12465 case TRACKING:
12466 case RESOURCES:
12467 case SETTINGS:
12468 case STATE:
12469 case AVAILABILITY:
12470 case CREDENTIAL:
12471 case ENDPOINT:
12472 case EVENT:
12473 case NOTIFICATION:
12474 case LINKED:
12475 case AUDIT:
12476 case DDL:
12477 case XML:
12478 case IMPERSONATE:
12479 case SECURABLES:
12480 case AUTHENTICATE:
12481 case EXTERNAL:
12482 case ACCESS:
12483 case ADMINISTER:
12484 case BULK:
12485 case OPERATIONS:
12486 case UNSAFE:
12487 case SHUTDOWN:
12488 case SCOPED:
12489 case CONFIGURATION:
12490 case DATASPACE:
12491 case SERVICE:
12492 case CERTIFICATE:
12493 case CONTRACT:
12494 case ENCRYPTION:
12495 case MASTER:
12496 case DATA:
12497 case SOURCE:
12498 case FILE:
12499 case FORMAT:
12500 case LIBRARY:
12501 case FULLTEXT:
12502 case MASK:
12503 case UNMASK:
12504 case MESSAGE:
12505 case REMOTE:
12506 case BINDING:
12507 case ROUTE:
12508 case SECURITY:
12509 case POLICY:
12510 case AGGREGATE:
12511 case QUEUE:
12512 case RULE:
12513 case SYNONYM:
12514 case COLLECTION:
12515 case SCRIPT:
12516 case KILL:
12517 case BACKUP:
12518 case LOG:
12519 case SHOWPLAN:
12520 case SUBSCRIBE:
12521 case QUERY:
12522 case NOTIFICATIONS:
12523 case CHECKPOINT:
12524 case SEQUENCE:
12525 case ABORT_AFTER_WAIT:
12526 case ALLOW_PAGE_LOCKS:
12527 case ALLOW_ROW_LOCKS:
12528 case ALL_SPARSE_COLUMNS:
12529 case BUCKET_COUNT:
12530 case COLUMNSTORE_ARCHIVE:
12531 case COLUMN_ENCRYPTION_KEY:
12532 case COLUMN_SET:
12533 case COMPRESSION_DELAY:
12534 case DATABASE_DEAULT:
12535 case DATA_COMPRESSION:
12536 case DATA_CONSISTENCY_CHECK:
12537 case ENCRYPTION_TYPE:
12538 case SYSTEM_TIME:
12539 case SYSTEM_VERSIONING:
12540 case TEXTIMAGE_ON:
12541 case WAIT_AT_LOW_PRIORITY:
12542 case STATISTICS_INCREMENTAL:
12543 case STATISTICS_NORECOMPUTE:
12544 case ROUND_ROBIN:
12545 case SCHEMA_AND_DATA:
12546 case SCHEMA_ONLY:
12547 case SORT_IN_TEMPDB:
12548 case IGNORE_DUP_KEY:
12549 case IMPLICIT_TRANSACTIONS:
12550 case MAX_DURATION:
12551 case MEMORY_OPTIMIZED:
12552 case MIGRATION_STATE:
12553 case PAD_INDEX:
12554 case REMOTE_DATA_ARCHIVE:
12555 case FILESTREAM_ON:
12556 case FILETABLE_COLLATE_FILENAME:
12557 case FILETABLE_DIRECTORY:
12558 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
12559 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
12560 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
12561 case FILTER_PREDICATE:
12562 case HISTORY_RETENTION_PERIOD:
12563 case HISTORY_TABLE:
12564 case LOCK_ESCALATION:
12565 case DROP_EXISTING:
12566 case ROW_NUMBER:
12567 case FIRST:
12568 case DATETIME2:
12569 case OUTPUT:
12570 case INSERTED:
12571 case DELETED:
12572 case FILENAME:
12573 case MAXSIZE:
12574 case FILEGROWTH:
12575 case UNLIMITED:
12576 case KB:
12577 case MB:
12578 case GB:
12579 case TB:
12580 case MEMORY_OPTIMIZED_DATA:
12581 case FILEGROUP:
12582 case NON_TRANSACTED_ACCESS:
12583 case DB_CHAINING:
12584 case TRUSTWORTHY:
12585 case FORWARD_ONLY:
12586 case KEYSET:
12587 case FAST_FORWARD:
12588 case SCROLL_LOCKS:
12589 case OPTIMISTIC:
12590 case TYPE_WARNING:
12591 case SCHEMABINDING:
12592 case CALLER:
12593 case OWNER:
12594 case SNAPSHOT:
12595 case REPEATABLE:
12596 case SERIALIZABLE:
12597 case NATIVE_COMPILATION:
12598 case VIEW_METADATA:
12599 case INSTEAD:
12600 case APPEND:
12601 case INCREMENT:
12602 case CACHE:
12603 case MINVALUE:
12604 case MAXVALUE:
12605 case RESTART:
12606 case LOB_COMPACTION:
12607 case COMPRESS_ALL_ROW_GROUPS:
12608 case REORGANIZE:
12609 case RESUME:
12610 case PAUSE:
12611 case ABORT:
12612 case ACCELERATED_DATABASE_RECOVERY:
12613 case PERSISTENT_VERSION_STORE_FILEGROUP:
12614 case IMMEDIATE:
12615 case NO_WAIT:
12616 case TARGET_RECOVERY_TIME:
12617 case SECONDS:
12618 case HONOR_BROKER_PRIORITY:
12619 case ERROR_BROKER_CONVERSATIONS:
12620 case NEW_BROKER:
12621 case DISABLE_BROKER:
12622 case ENABLE_BROKER:
12623 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
12624 case READ_COMMITTED_SNAPSHOT:
12625 case ALLOW_SNAPSHOT_ISOLATION:
12626 case RECURSIVE_TRIGGERS:
12627 case QUOTED_IDENTIFIER:
12628 case NUMERIC_ROUNDABORT:
12629 case CONCAT_NULL_YIELDS_NULL:
12630 case COMPATIBILITY_LEVEL:
12631 case ARITHABORT:
12632 case ANSI_WARNINGS:
12633 case ANSI_PADDING:
12634 case ANSI_NULLS:
12635 case ANSI_NULL_DEFAULT:
12636 case PAGE_VERIFY:
12637 case CHECKSUM:
12638 case TORN_PAGE_DETECTION:
12639 case BULK_LOGGED:
12640 case RECOVERY:
12641 case TOTAL_EXECUTION_CPU_TIME_MS:
12642 case TOTAL_COMPILE_CPU_TIME_MS:
12643 case STALE_CAPTURE_POLICY_THRESHOLD:
12644 case EXECUTION_COUNT:
12645 case QUERY_CAPTURE_POLICY:
12646 case WAIT_STATS_CAPTURE_MODE:
12647 case MAX_PLANS_PER_QUERY:
12648 case QUERY_CAPTURE_MODE:
12649 case SIZE_BASED_CLEANUP_MODE:
12650 case INTERVAL_LENGTH_MINUTES:
12651 case MAX_STORAGE_SIZE_MB:
12652 case DATA_FLUSH_INTERVAL_SECONDS:
12653 case CLEANUP_POLICY:
12654 case CUSTOM:
12655 case STALE_QUERY_THRESHOLD_DAYS:
12656 case OPERATION_MODE:
12657 case QUERY_STORE:
12658 case CURSOR_DEFAULT:
12659 case GLOBAL:
12660 case CURSOR_CLOSE_ON_COMMIT:
12661 case HOURS:
12662 case CHANGE_RETENTION:
12663 case AUTO_CLEANUP:
12664 case CHANGE_TRACKING:
12665 case AUTOMATIC_TUNING:
12666 case FORCE_LAST_GOOD_PLAN:
12667 case AUTO_UPDATE_STATISTICS_ASYNC:
12668 case AUTO_UPDATE_STATISTICS:
12669 case AUTO_SHRINK:
12670 case AUTO_CREATE_STATISTICS:
12671 case INCREMENTAL:
12672 case AUTO_CLOSE:
12673 case DATA_RETENTION:
12674 case TEMPORAL_HISTORY_RETENTION:
12675 case EDITION:
12676 case MIXED_PAGE_ALLOCATION:
12677 case DISABLED:
12678 case ALLOWED:
12679 case HADR:
12680 case MULTI_USER:
12681 case RESTRICTED_USER:
12682 case SINGLE_USER:
12683 case OFFLINE:
12684 case EMERGENCY:
12685 case SUSPEND:
12686 case DATE_CORRELATION_OPTIMIZATION:
12687 case ELASTIC_POOL:
12688 case SERVICE_OBJECTIVE:
12689 case DATABASE_NAME:
12690 case ALLOW_CONNECTIONS:
12691 case GEO:
12692 case NAMED:
12693 case DATEFIRST:
12694 case BACKUP_STORAGE_REDUNDANCY:
12695 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
12696 case SECONDARY:
12697 case FAILOVER:
12698 case DEFAULT_FULLTEXT_LANGUAGE:
12699 case DEFAULT_LANGUAGE:
12700 case INLINE:
12701 case NESTED_TRIGGERS:
12702 case TRANSFORM_NOISE_WORDS:
12703 case TWO_DIGIT_YEAR_CUTOFF:
12704 case PERSISTENT_LOG_BUFFER:
12705 case DIRECTORY_NAME:
12706 case DATEFORMAT:
12707 case DELAYED_DURABILITY:
12708 case AUTHORIZATION:
12709 case TRANSFER:
12710 case SEARCH:
12711 case MEMBER:
12712 case IDENTIFIER_:
12713 case DELIMITED_IDENTIFIER_:
12714 {
12715 setState(1996);
12716 databaseName();
12717 }
12718 break;
12719 case CURRENT:
12720 {
12721 setState(1997);
12722 match(CURRENT);
12723 }
12724 break;
12725 default:
12726 throw new NoViableAltException(this);
12727 }
12728 setState(2003);
12729 _errHandler.sync(this);
12730 _la = _input.LA(1);
12731 while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << LP_) | (1L << ADD) | (1L << SET))) != 0) || ((((_la - 152)) & ~0x3f) == 0 && ((1L << (_la - 152)) & ((1L << (DEFAULT - 152)) | (1L << (NAME - 152)) | (1L << (READ_ONLY - 152)) | (1L << (READONLY - 152)))) != 0) || _la==COLLATE || ((((_la - 538)) & ~0x3f) == 0 && ((1L << (_la - 538)) & ((1L << (REMOVE - 538)) | (1L << (AUTOGROW_SINGLE_FILE - 538)) | (1L << (AUTOGROW_ALL_FILES - 538)) | (1L << (READWRITE - 538)) | (1L << (READ_WRITE - 538)) | (1L << (MODIFY - 538)))) != 0) || _la==FORCE_FAILOVER_ALLOW_DATA_LOSS || _la==FAILOVER) {
12732 {
12733 {
12734 setState(2000);
12735 alterDatabaseClause();
12736 }
12737 }
12738 setState(2005);
12739 _errHandler.sync(this);
12740 _la = _input.LA(1);
12741 }
12742 }
12743 }
12744 catch (RecognitionException re) {
12745 _localctx.exception = re;
12746 _errHandler.reportError(this, re);
12747 _errHandler.recover(this, re);
12748 }
12749 finally {
12750 exitRule();
12751 }
12752 return _localctx;
12753 }
12754
12755 public static class AlterProcedureContext extends ParserRuleContext {
12756 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12757 public ProcedureNameContext procedureName() {
12758 return getRuleContext(ProcedureNameContext.class,0);
12759 }
12760 public ProcParametersContext procParameters() {
12761 return getRuleContext(ProcParametersContext.class,0);
12762 }
12763 public CreateOrAlterProcClauseContext createOrAlterProcClause() {
12764 return getRuleContext(CreateOrAlterProcClauseContext.class,0);
12765 }
12766 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
12767 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
12768 public AlterProcedureContext(ParserRuleContext parent, int invokingState) {
12769 super(parent, invokingState);
12770 }
12771 @Override public int getRuleIndex() { return RULE_alterProcedure; }
12772 @Override
12773 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12774 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterProcedure(this);
12775 else return visitor.visitChildren(this);
12776 }
12777 }
12778
12779 public final AlterProcedureContext alterProcedure() throws RecognitionException {
12780 AlterProcedureContext _localctx = new AlterProcedureContext(_ctx, getState());
12781 enterRule(_localctx, 258, RULE_alterProcedure);
12782 int _la;
12783 try {
12784 enterOuterAlt(_localctx, 1);
12785 {
12786 setState(2006);
12787 match(ALTER);
12788 setState(2007);
12789 _la = _input.LA(1);
12790 if ( !(_la==PROCEDURE || _la==PROC) ) {
12791 _errHandler.recoverInline(this);
12792 }
12793 else {
12794 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
12795 _errHandler.reportMatch(this);
12796 consume();
12797 }
12798 setState(2008);
12799 procedureName();
12800 setState(2009);
12801 procParameters();
12802 setState(2010);
12803 createOrAlterProcClause();
12804 }
12805 }
12806 catch (RecognitionException re) {
12807 _localctx.exception = re;
12808 _errHandler.reportError(this, re);
12809 _errHandler.recover(this, re);
12810 }
12811 finally {
12812 exitRule();
12813 }
12814 return _localctx;
12815 }
12816
12817 public static class AlterFunctionContext extends ParserRuleContext {
12818 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12819 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
12820 public FunctionNameContext functionName() {
12821 return getRuleContext(FunctionNameContext.class,0);
12822 }
12823 public FuncParametersContext funcParameters() {
12824 return getRuleContext(FuncParametersContext.class,0);
12825 }
12826 public FuncReturnsContext funcReturns() {
12827 return getRuleContext(FuncReturnsContext.class,0);
12828 }
12829 public AlterFunctionContext(ParserRuleContext parent, int invokingState) {
12830 super(parent, invokingState);
12831 }
12832 @Override public int getRuleIndex() { return RULE_alterFunction; }
12833 @Override
12834 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12835 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterFunction(this);
12836 else return visitor.visitChildren(this);
12837 }
12838 }
12839
12840 public final AlterFunctionContext alterFunction() throws RecognitionException {
12841 AlterFunctionContext _localctx = new AlterFunctionContext(_ctx, getState());
12842 enterRule(_localctx, 260, RULE_alterFunction);
12843 try {
12844 enterOuterAlt(_localctx, 1);
12845 {
12846 setState(2012);
12847 match(ALTER);
12848 setState(2013);
12849 match(FUNCTION);
12850 setState(2014);
12851 functionName();
12852 setState(2015);
12853 funcParameters();
12854 setState(2016);
12855 funcReturns();
12856 }
12857 }
12858 catch (RecognitionException re) {
12859 _localctx.exception = re;
12860 _errHandler.reportError(this, re);
12861 _errHandler.recover(this, re);
12862 }
12863 finally {
12864 exitRule();
12865 }
12866 return _localctx;
12867 }
12868
12869 public static class AlterViewContext extends ParserRuleContext {
12870 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12871 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
12872 public ViewNameContext viewName() {
12873 return getRuleContext(ViewNameContext.class,0);
12874 }
12875 public CreateOrAlterViewClauseContext createOrAlterViewClause() {
12876 return getRuleContext(CreateOrAlterViewClauseContext.class,0);
12877 }
12878 public AlterViewContext(ParserRuleContext parent, int invokingState) {
12879 super(parent, invokingState);
12880 }
12881 @Override public int getRuleIndex() { return RULE_alterView; }
12882 @Override
12883 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12884 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterView(this);
12885 else return visitor.visitChildren(this);
12886 }
12887 }
12888
12889 public final AlterViewContext alterView() throws RecognitionException {
12890 AlterViewContext _localctx = new AlterViewContext(_ctx, getState());
12891 enterRule(_localctx, 262, RULE_alterView);
12892 try {
12893 enterOuterAlt(_localctx, 1);
12894 {
12895 setState(2018);
12896 match(ALTER);
12897 setState(2019);
12898 match(VIEW);
12899 setState(2020);
12900 viewName();
12901 setState(2021);
12902 createOrAlterViewClause();
12903 }
12904 }
12905 catch (RecognitionException re) {
12906 _localctx.exception = re;
12907 _errHandler.reportError(this, re);
12908 _errHandler.recover(this, re);
12909 }
12910 finally {
12911 exitRule();
12912 }
12913 return _localctx;
12914 }
12915
12916 public static class AlterTriggerContext extends ParserRuleContext {
12917 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12918 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
12919 public TriggerNameContext triggerName() {
12920 return getRuleContext(TriggerNameContext.class,0);
12921 }
12922 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
12923 public TriggerTargetContext triggerTarget() {
12924 return getRuleContext(TriggerTargetContext.class,0);
12925 }
12926 public CreateTriggerClauseContext createTriggerClause() {
12927 return getRuleContext(CreateTriggerClauseContext.class,0);
12928 }
12929 public AlterTriggerContext(ParserRuleContext parent, int invokingState) {
12930 super(parent, invokingState);
12931 }
12932 @Override public int getRuleIndex() { return RULE_alterTrigger; }
12933 @Override
12934 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12935 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTrigger(this);
12936 else return visitor.visitChildren(this);
12937 }
12938 }
12939
12940 public final AlterTriggerContext alterTrigger() throws RecognitionException {
12941 AlterTriggerContext _localctx = new AlterTriggerContext(_ctx, getState());
12942 enterRule(_localctx, 264, RULE_alterTrigger);
12943 try {
12944 enterOuterAlt(_localctx, 1);
12945 {
12946 setState(2023);
12947 match(ALTER);
12948 setState(2024);
12949 match(TRIGGER);
12950 setState(2025);
12951 triggerName();
12952 setState(2026);
12953 match(ON);
12954 setState(2027);
12955 triggerTarget();
12956 setState(2028);
12957 createTriggerClause();
12958 }
12959 }
12960 catch (RecognitionException re) {
12961 _localctx.exception = re;
12962 _errHandler.reportError(this, re);
12963 _errHandler.recover(this, re);
12964 }
12965 finally {
12966 exitRule();
12967 }
12968 return _localctx;
12969 }
12970
12971 public static class AlterSequenceContext extends ParserRuleContext {
12972 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
12973 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
12974 public SequenceNameContext sequenceName() {
12975 return getRuleContext(SequenceNameContext.class,0);
12976 }
12977 public List<CreateOrAlterSequenceClauseContext> createOrAlterSequenceClause() {
12978 return getRuleContexts(CreateOrAlterSequenceClauseContext.class);
12979 }
12980 public CreateOrAlterSequenceClauseContext createOrAlterSequenceClause(int i) {
12981 return getRuleContext(CreateOrAlterSequenceClauseContext.class,i);
12982 }
12983 public AlterSequenceContext(ParserRuleContext parent, int invokingState) {
12984 super(parent, invokingState);
12985 }
12986 @Override public int getRuleIndex() { return RULE_alterSequence; }
12987 @Override
12988 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
12989 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSequence(this);
12990 else return visitor.visitChildren(this);
12991 }
12992 }
12993
12994 public final AlterSequenceContext alterSequence() throws RecognitionException {
12995 AlterSequenceContext _localctx = new AlterSequenceContext(_ctx, getState());
12996 enterRule(_localctx, 266, RULE_alterSequence);
12997 int _la;
12998 try {
12999 enterOuterAlt(_localctx, 1);
13000 {
13001 setState(2030);
13002 match(ALTER);
13003 setState(2031);
13004 match(SEQUENCE);
13005 setState(2032);
13006 sequenceName();
13007 setState(2036);
13008 _errHandler.sync(this);
13009 _la = _input.LA(1);
13010 while (_la==AS || _la==NO || _la==START || ((((_la - 522)) & ~0x3f) == 0 && ((1L << (_la - 522)) & ((1L << (INCREMENT - 522)) | (1L << (CYCLE - 522)) | (1L << (CACHE - 522)) | (1L << (MINVALUE - 522)) | (1L << (MAXVALUE - 522)) | (1L << (RESTART - 522)))) != 0)) {
13011 {
13012 {
13013 setState(2033);
13014 createOrAlterSequenceClause();
13015 }
13016 }
13017 setState(2038);
13018 _errHandler.sync(this);
13019 _la = _input.LA(1);
13020 }
13021 }
13022 }
13023 catch (RecognitionException re) {
13024 _localctx.exception = re;
13025 _errHandler.reportError(this, re);
13026 _errHandler.recover(this, re);
13027 }
13028 finally {
13029 exitRule();
13030 }
13031 return _localctx;
13032 }
13033
13034 public static class AlterServiceContext extends ParserRuleContext {
13035 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13036 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
13037 public ServiceNameContext serviceName() {
13038 return getRuleContext(ServiceNameContext.class,0);
13039 }
13040 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13041 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
13042 public QueueNameContext queueName() {
13043 return getRuleContext(QueueNameContext.class,0);
13044 }
13045 public AlterServiceClauseContext alterServiceClause() {
13046 return getRuleContext(AlterServiceClauseContext.class,0);
13047 }
13048 public AlterServiceContext(ParserRuleContext parent, int invokingState) {
13049 super(parent, invokingState);
13050 }
13051 @Override public int getRuleIndex() { return RULE_alterService; }
13052 @Override
13053 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13054 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterService(this);
13055 else return visitor.visitChildren(this);
13056 }
13057 }
13058
13059 public final AlterServiceContext alterService() throws RecognitionException {
13060 AlterServiceContext _localctx = new AlterServiceContext(_ctx, getState());
13061 enterRule(_localctx, 268, RULE_alterService);
13062 int _la;
13063 try {
13064 enterOuterAlt(_localctx, 1);
13065 {
13066 setState(2039);
13067 match(ALTER);
13068 setState(2040);
13069 match(SERVICE);
13070 setState(2041);
13071 serviceName();
13072 setState(2045);
13073 _errHandler.sync(this);
13074 _la = _input.LA(1);
13075 if (_la==ON) {
13076 {
13077 setState(2042);
13078 match(ON);
13079 setState(2043);
13080 match(QUEUE);
13081 setState(2044);
13082 queueName();
13083 }
13084 }
13085
13086 setState(2048);
13087 _errHandler.sync(this);
13088 _la = _input.LA(1);
13089 if (_la==LP_) {
13090 {
13091 setState(2047);
13092 alterServiceClause();
13093 }
13094 }
13095
13096 }
13097 }
13098 catch (RecognitionException re) {
13099 _localctx.exception = re;
13100 _errHandler.reportError(this, re);
13101 _errHandler.recover(this, re);
13102 }
13103 finally {
13104 exitRule();
13105 }
13106 return _localctx;
13107 }
13108
13109 public static class AlterSchemaContext extends ParserRuleContext {
13110 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
13111 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
13112 public SchemaNameContext schemaName() {
13113 return getRuleContext(SchemaNameContext.class,0);
13114 }
13115 public TerminalNode TRANSFER() { return getToken(SQLServerStatementParser.TRANSFER, 0); }
13116 public IgnoredIdentifierContext ignoredIdentifier() {
13117 return getRuleContext(IgnoredIdentifierContext.class,0);
13118 }
13119 public Class_Context class_() {
13120 return getRuleContext(Class_Context.class,0);
13121 }
13122 public AlterSchemaContext(ParserRuleContext parent, int invokingState) {
13123 super(parent, invokingState);
13124 }
13125 @Override public int getRuleIndex() { return RULE_alterSchema; }
13126 @Override
13127 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13128 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSchema(this);
13129 else return visitor.visitChildren(this);
13130 }
13131 }
13132
13133 public final AlterSchemaContext alterSchema() throws RecognitionException {
13134 AlterSchemaContext _localctx = new AlterSchemaContext(_ctx, getState());
13135 enterRule(_localctx, 270, RULE_alterSchema);
13136 try {
13137 enterOuterAlt(_localctx, 1);
13138 {
13139 setState(2050);
13140 match(ALTER);
13141 setState(2051);
13142 match(SCHEMA);
13143 setState(2052);
13144 schemaName();
13145 setState(2053);
13146 match(TRANSFER);
13147 setState(2055);
13148 _errHandler.sync(this);
13149 switch ( getInterpreter().adaptivePredict(_input,126,_ctx) ) {
13150 case 1:
13151 {
13152 setState(2054);
13153 class_();
13154 }
13155 break;
13156 }
13157 setState(2057);
13158 ignoredIdentifier();
13159 }
13160 }
13161 catch (RecognitionException re) {
13162 _localctx.exception = re;
13163 _errHandler.reportError(this, re);
13164 _errHandler.recover(this, re);
13165 }
13166 finally {
13167 exitRule();
13168 }
13169 return _localctx;
13170 }
13171
13172 public static class DropTableContext extends ParserRuleContext {
13173 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13174 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
13175 public TableNamesContext tableNames() {
13176 return getRuleContext(TableNamesContext.class,0);
13177 }
13178 public IfExistsContext ifExists() {
13179 return getRuleContext(IfExistsContext.class,0);
13180 }
13181 public DropTableContext(ParserRuleContext parent, int invokingState) {
13182 super(parent, invokingState);
13183 }
13184 @Override public int getRuleIndex() { return RULE_dropTable; }
13185 @Override
13186 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13187 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropTable(this);
13188 else return visitor.visitChildren(this);
13189 }
13190 }
13191
13192 public final DropTableContext dropTable() throws RecognitionException {
13193 DropTableContext _localctx = new DropTableContext(_ctx, getState());
13194 enterRule(_localctx, 272, RULE_dropTable);
13195 int _la;
13196 try {
13197 enterOuterAlt(_localctx, 1);
13198 {
13199 setState(2059);
13200 match(DROP);
13201 setState(2060);
13202 match(TABLE);
13203 setState(2062);
13204 _errHandler.sync(this);
13205 _la = _input.LA(1);
13206 if (_la==IF) {
13207 {
13208 setState(2061);
13209 ifExists();
13210 }
13211 }
13212
13213 setState(2064);
13214 tableNames();
13215 }
13216 }
13217 catch (RecognitionException re) {
13218 _localctx.exception = re;
13219 _errHandler.reportError(this, re);
13220 _errHandler.recover(this, re);
13221 }
13222 finally {
13223 exitRule();
13224 }
13225 return _localctx;
13226 }
13227
13228 public static class DropIndexContext extends ParserRuleContext {
13229 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13230 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
13231 public IndexNameContext indexName() {
13232 return getRuleContext(IndexNameContext.class,0);
13233 }
13234 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13235 public TableNameContext tableName() {
13236 return getRuleContext(TableNameContext.class,0);
13237 }
13238 public IfExistsContext ifExists() {
13239 return getRuleContext(IfExistsContext.class,0);
13240 }
13241 public DropIndexContext(ParserRuleContext parent, int invokingState) {
13242 super(parent, invokingState);
13243 }
13244 @Override public int getRuleIndex() { return RULE_dropIndex; }
13245 @Override
13246 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13247 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropIndex(this);
13248 else return visitor.visitChildren(this);
13249 }
13250 }
13251
13252 public final DropIndexContext dropIndex() throws RecognitionException {
13253 DropIndexContext _localctx = new DropIndexContext(_ctx, getState());
13254 enterRule(_localctx, 274, RULE_dropIndex);
13255 int _la;
13256 try {
13257 enterOuterAlt(_localctx, 1);
13258 {
13259 setState(2066);
13260 match(DROP);
13261 setState(2067);
13262 match(INDEX);
13263 setState(2069);
13264 _errHandler.sync(this);
13265 _la = _input.LA(1);
13266 if (_la==IF) {
13267 {
13268 setState(2068);
13269 ifExists();
13270 }
13271 }
13272
13273 setState(2071);
13274 indexName();
13275 setState(2072);
13276 match(ON);
13277 setState(2073);
13278 tableName();
13279 }
13280 }
13281 catch (RecognitionException re) {
13282 _localctx.exception = re;
13283 _errHandler.reportError(this, re);
13284 _errHandler.recover(this, re);
13285 }
13286 finally {
13287 exitRule();
13288 }
13289 return _localctx;
13290 }
13291
13292 public static class DropDatabaseContext extends ParserRuleContext {
13293 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13294 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
13295 public List<DatabaseNameContext> databaseName() {
13296 return getRuleContexts(DatabaseNameContext.class);
13297 }
13298 public DatabaseNameContext databaseName(int i) {
13299 return getRuleContext(DatabaseNameContext.class,i);
13300 }
13301 public IfExistsContext ifExists() {
13302 return getRuleContext(IfExistsContext.class,0);
13303 }
13304 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13305 public TerminalNode COMMA_(int i) {
13306 return getToken(SQLServerStatementParser.COMMA_, i);
13307 }
13308 public DropDatabaseContext(ParserRuleContext parent, int invokingState) {
13309 super(parent, invokingState);
13310 }
13311 @Override public int getRuleIndex() { return RULE_dropDatabase; }
13312 @Override
13313 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13314 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropDatabase(this);
13315 else return visitor.visitChildren(this);
13316 }
13317 }
13318
13319 public final DropDatabaseContext dropDatabase() throws RecognitionException {
13320 DropDatabaseContext _localctx = new DropDatabaseContext(_ctx, getState());
13321 enterRule(_localctx, 276, RULE_dropDatabase);
13322 int _la;
13323 try {
13324 enterOuterAlt(_localctx, 1);
13325 {
13326 setState(2075);
13327 match(DROP);
13328 setState(2076);
13329 match(DATABASE);
13330 setState(2078);
13331 _errHandler.sync(this);
13332 _la = _input.LA(1);
13333 if (_la==IF) {
13334 {
13335 setState(2077);
13336 ifExists();
13337 }
13338 }
13339
13340 setState(2080);
13341 databaseName();
13342 setState(2085);
13343 _errHandler.sync(this);
13344 _la = _input.LA(1);
13345 while (_la==COMMA_) {
13346 {
13347 {
13348 setState(2081);
13349 match(COMMA_);
13350 setState(2082);
13351 databaseName();
13352 }
13353 }
13354 setState(2087);
13355 _errHandler.sync(this);
13356 _la = _input.LA(1);
13357 }
13358 }
13359 }
13360 catch (RecognitionException re) {
13361 _localctx.exception = re;
13362 _errHandler.reportError(this, re);
13363 _errHandler.recover(this, re);
13364 }
13365 finally {
13366 exitRule();
13367 }
13368 return _localctx;
13369 }
13370
13371 public static class DropFunctionContext extends ParserRuleContext {
13372 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13373 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
13374 public List<FunctionNameContext> functionName() {
13375 return getRuleContexts(FunctionNameContext.class);
13376 }
13377 public FunctionNameContext functionName(int i) {
13378 return getRuleContext(FunctionNameContext.class,i);
13379 }
13380 public IfExistsContext ifExists() {
13381 return getRuleContext(IfExistsContext.class,0);
13382 }
13383 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13384 public TerminalNode COMMA_(int i) {
13385 return getToken(SQLServerStatementParser.COMMA_, i);
13386 }
13387 public DropFunctionContext(ParserRuleContext parent, int invokingState) {
13388 super(parent, invokingState);
13389 }
13390 @Override public int getRuleIndex() { return RULE_dropFunction; }
13391 @Override
13392 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13393 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropFunction(this);
13394 else return visitor.visitChildren(this);
13395 }
13396 }
13397
13398 public final DropFunctionContext dropFunction() throws RecognitionException {
13399 DropFunctionContext _localctx = new DropFunctionContext(_ctx, getState());
13400 enterRule(_localctx, 278, RULE_dropFunction);
13401 int _la;
13402 try {
13403 enterOuterAlt(_localctx, 1);
13404 {
13405 setState(2088);
13406 match(DROP);
13407 setState(2089);
13408 match(FUNCTION);
13409 setState(2091);
13410 _errHandler.sync(this);
13411 _la = _input.LA(1);
13412 if (_la==IF) {
13413 {
13414 setState(2090);
13415 ifExists();
13416 }
13417 }
13418
13419 setState(2093);
13420 functionName();
13421 setState(2098);
13422 _errHandler.sync(this);
13423 _la = _input.LA(1);
13424 while (_la==COMMA_) {
13425 {
13426 {
13427 setState(2094);
13428 match(COMMA_);
13429 setState(2095);
13430 functionName();
13431 }
13432 }
13433 setState(2100);
13434 _errHandler.sync(this);
13435 _la = _input.LA(1);
13436 }
13437 }
13438 }
13439 catch (RecognitionException re) {
13440 _localctx.exception = re;
13441 _errHandler.reportError(this, re);
13442 _errHandler.recover(this, re);
13443 }
13444 finally {
13445 exitRule();
13446 }
13447 return _localctx;
13448 }
13449
13450 public static class DropProcedureContext extends ParserRuleContext {
13451 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13452 public List<ProcedureNameContext> procedureName() {
13453 return getRuleContexts(ProcedureNameContext.class);
13454 }
13455 public ProcedureNameContext procedureName(int i) {
13456 return getRuleContext(ProcedureNameContext.class,i);
13457 }
13458 public TerminalNode PROC() { return getToken(SQLServerStatementParser.PROC, 0); }
13459 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
13460 public IfExistsContext ifExists() {
13461 return getRuleContext(IfExistsContext.class,0);
13462 }
13463 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13464 public TerminalNode COMMA_(int i) {
13465 return getToken(SQLServerStatementParser.COMMA_, i);
13466 }
13467 public DropProcedureContext(ParserRuleContext parent, int invokingState) {
13468 super(parent, invokingState);
13469 }
13470 @Override public int getRuleIndex() { return RULE_dropProcedure; }
13471 @Override
13472 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13473 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropProcedure(this);
13474 else return visitor.visitChildren(this);
13475 }
13476 }
13477
13478 public final DropProcedureContext dropProcedure() throws RecognitionException {
13479 DropProcedureContext _localctx = new DropProcedureContext(_ctx, getState());
13480 enterRule(_localctx, 280, RULE_dropProcedure);
13481 int _la;
13482 try {
13483 enterOuterAlt(_localctx, 1);
13484 {
13485 setState(2101);
13486 match(DROP);
13487 setState(2102);
13488 _la = _input.LA(1);
13489 if ( !(_la==PROCEDURE || _la==PROC) ) {
13490 _errHandler.recoverInline(this);
13491 }
13492 else {
13493 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
13494 _errHandler.reportMatch(this);
13495 consume();
13496 }
13497 setState(2104);
13498 _errHandler.sync(this);
13499 _la = _input.LA(1);
13500 if (_la==IF) {
13501 {
13502 setState(2103);
13503 ifExists();
13504 }
13505 }
13506
13507 setState(2106);
13508 procedureName();
13509 setState(2111);
13510 _errHandler.sync(this);
13511 _la = _input.LA(1);
13512 while (_la==COMMA_) {
13513 {
13514 {
13515 setState(2107);
13516 match(COMMA_);
13517 setState(2108);
13518 procedureName();
13519 }
13520 }
13521 setState(2113);
13522 _errHandler.sync(this);
13523 _la = _input.LA(1);
13524 }
13525 }
13526 }
13527 catch (RecognitionException re) {
13528 _localctx.exception = re;
13529 _errHandler.reportError(this, re);
13530 _errHandler.recover(this, re);
13531 }
13532 finally {
13533 exitRule();
13534 }
13535 return _localctx;
13536 }
13537
13538 public static class DropViewContext extends ParserRuleContext {
13539 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13540 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
13541 public List<ViewNameContext> viewName() {
13542 return getRuleContexts(ViewNameContext.class);
13543 }
13544 public ViewNameContext viewName(int i) {
13545 return getRuleContext(ViewNameContext.class,i);
13546 }
13547 public IfExistsContext ifExists() {
13548 return getRuleContext(IfExistsContext.class,0);
13549 }
13550 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13551 public TerminalNode COMMA_(int i) {
13552 return getToken(SQLServerStatementParser.COMMA_, i);
13553 }
13554 public DropViewContext(ParserRuleContext parent, int invokingState) {
13555 super(parent, invokingState);
13556 }
13557 @Override public int getRuleIndex() { return RULE_dropView; }
13558 @Override
13559 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13560 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropView(this);
13561 else return visitor.visitChildren(this);
13562 }
13563 }
13564
13565 public final DropViewContext dropView() throws RecognitionException {
13566 DropViewContext _localctx = new DropViewContext(_ctx, getState());
13567 enterRule(_localctx, 282, RULE_dropView);
13568 int _la;
13569 try {
13570 enterOuterAlt(_localctx, 1);
13571 {
13572 setState(2114);
13573 match(DROP);
13574 setState(2115);
13575 match(VIEW);
13576 setState(2117);
13577 _errHandler.sync(this);
13578 _la = _input.LA(1);
13579 if (_la==IF) {
13580 {
13581 setState(2116);
13582 ifExists();
13583 }
13584 }
13585
13586 setState(2119);
13587 viewName();
13588 setState(2124);
13589 _errHandler.sync(this);
13590 _la = _input.LA(1);
13591 while (_la==COMMA_) {
13592 {
13593 {
13594 setState(2120);
13595 match(COMMA_);
13596 setState(2121);
13597 viewName();
13598 }
13599 }
13600 setState(2126);
13601 _errHandler.sync(this);
13602 _la = _input.LA(1);
13603 }
13604 }
13605 }
13606 catch (RecognitionException re) {
13607 _localctx.exception = re;
13608 _errHandler.reportError(this, re);
13609 _errHandler.recover(this, re);
13610 }
13611 finally {
13612 exitRule();
13613 }
13614 return _localctx;
13615 }
13616
13617 public static class DropTriggerContext extends ParserRuleContext {
13618 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13619 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
13620 public List<TriggerNameContext> triggerName() {
13621 return getRuleContexts(TriggerNameContext.class);
13622 }
13623 public TriggerNameContext triggerName(int i) {
13624 return getRuleContext(TriggerNameContext.class,i);
13625 }
13626 public IfExistsContext ifExists() {
13627 return getRuleContext(IfExistsContext.class,0);
13628 }
13629 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13630 public TerminalNode COMMA_(int i) {
13631 return getToken(SQLServerStatementParser.COMMA_, i);
13632 }
13633 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
13634 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
13635 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
13636 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
13637 public DropTriggerContext(ParserRuleContext parent, int invokingState) {
13638 super(parent, invokingState);
13639 }
13640 @Override public int getRuleIndex() { return RULE_dropTrigger; }
13641 @Override
13642 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13643 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropTrigger(this);
13644 else return visitor.visitChildren(this);
13645 }
13646 }
13647
13648 public final DropTriggerContext dropTrigger() throws RecognitionException {
13649 DropTriggerContext _localctx = new DropTriggerContext(_ctx, getState());
13650 enterRule(_localctx, 284, RULE_dropTrigger);
13651 int _la;
13652 try {
13653 enterOuterAlt(_localctx, 1);
13654 {
13655 setState(2127);
13656 match(DROP);
13657 setState(2128);
13658 match(TRIGGER);
13659 setState(2130);
13660 _errHandler.sync(this);
13661 _la = _input.LA(1);
13662 if (_la==IF) {
13663 {
13664 setState(2129);
13665 ifExists();
13666 }
13667 }
13668
13669 setState(2132);
13670 triggerName();
13671 setState(2137);
13672 _errHandler.sync(this);
13673 _la = _input.LA(1);
13674 while (_la==COMMA_) {
13675 {
13676 {
13677 setState(2133);
13678 match(COMMA_);
13679 setState(2134);
13680 triggerName();
13681 }
13682 }
13683 setState(2139);
13684 _errHandler.sync(this);
13685 _la = _input.LA(1);
13686 }
13687 setState(2146);
13688 _errHandler.sync(this);
13689 _la = _input.LA(1);
13690 if (_la==ON) {
13691 {
13692 setState(2140);
13693 match(ON);
13694 setState(2144);
13695 _errHandler.sync(this);
13696 switch (_input.LA(1)) {
13697 case DATABASE:
13698 {
13699 setState(2141);
13700 match(DATABASE);
13701 }
13702 break;
13703 case ALL:
13704 {
13705 setState(2142);
13706 match(ALL);
13707 setState(2143);
13708 match(SERVER);
13709 }
13710 break;
13711 default:
13712 throw new NoViableAltException(this);
13713 }
13714 }
13715 }
13716
13717 }
13718 }
13719 catch (RecognitionException re) {
13720 _localctx.exception = re;
13721 _errHandler.reportError(this, re);
13722 _errHandler.recover(this, re);
13723 }
13724 finally {
13725 exitRule();
13726 }
13727 return _localctx;
13728 }
13729
13730 public static class DropSequenceContext extends ParserRuleContext {
13731 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13732 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
13733 public List<SequenceNameContext> sequenceName() {
13734 return getRuleContexts(SequenceNameContext.class);
13735 }
13736 public SequenceNameContext sequenceName(int i) {
13737 return getRuleContext(SequenceNameContext.class,i);
13738 }
13739 public IfExistsContext ifExists() {
13740 return getRuleContext(IfExistsContext.class,0);
13741 }
13742 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
13743 public TerminalNode COMMA_(int i) {
13744 return getToken(SQLServerStatementParser.COMMA_, i);
13745 }
13746 public DropSequenceContext(ParserRuleContext parent, int invokingState) {
13747 super(parent, invokingState);
13748 }
13749 @Override public int getRuleIndex() { return RULE_dropSequence; }
13750 @Override
13751 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13752 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropSequence(this);
13753 else return visitor.visitChildren(this);
13754 }
13755 }
13756
13757 public final DropSequenceContext dropSequence() throws RecognitionException {
13758 DropSequenceContext _localctx = new DropSequenceContext(_ctx, getState());
13759 enterRule(_localctx, 286, RULE_dropSequence);
13760 int _la;
13761 try {
13762 enterOuterAlt(_localctx, 1);
13763 {
13764 setState(2148);
13765 match(DROP);
13766 setState(2149);
13767 match(SEQUENCE);
13768 setState(2151);
13769 _errHandler.sync(this);
13770 _la = _input.LA(1);
13771 if (_la==IF) {
13772 {
13773 setState(2150);
13774 ifExists();
13775 }
13776 }
13777
13778 setState(2153);
13779 sequenceName();
13780 setState(2158);
13781 _errHandler.sync(this);
13782 _la = _input.LA(1);
13783 while (_la==COMMA_) {
13784 {
13785 {
13786 setState(2154);
13787 match(COMMA_);
13788 setState(2155);
13789 sequenceName();
13790 }
13791 }
13792 setState(2160);
13793 _errHandler.sync(this);
13794 _la = _input.LA(1);
13795 }
13796 }
13797 }
13798 catch (RecognitionException re) {
13799 _localctx.exception = re;
13800 _errHandler.reportError(this, re);
13801 _errHandler.recover(this, re);
13802 }
13803 finally {
13804 exitRule();
13805 }
13806 return _localctx;
13807 }
13808
13809 public static class DropServiceContext extends ParserRuleContext {
13810 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13811 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
13812 public ServiceNameContext serviceName() {
13813 return getRuleContext(ServiceNameContext.class,0);
13814 }
13815 public DropServiceContext(ParserRuleContext parent, int invokingState) {
13816 super(parent, invokingState);
13817 }
13818 @Override public int getRuleIndex() { return RULE_dropService; }
13819 @Override
13820 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13821 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropService(this);
13822 else return visitor.visitChildren(this);
13823 }
13824 }
13825
13826 public final DropServiceContext dropService() throws RecognitionException {
13827 DropServiceContext _localctx = new DropServiceContext(_ctx, getState());
13828 enterRule(_localctx, 288, RULE_dropService);
13829 try {
13830 enterOuterAlt(_localctx, 1);
13831 {
13832 setState(2161);
13833 match(DROP);
13834 setState(2162);
13835 match(SERVICE);
13836 setState(2163);
13837 serviceName();
13838 }
13839 }
13840 catch (RecognitionException re) {
13841 _localctx.exception = re;
13842 _errHandler.reportError(this, re);
13843 _errHandler.recover(this, re);
13844 }
13845 finally {
13846 exitRule();
13847 }
13848 return _localctx;
13849 }
13850
13851 public static class DropSchemaContext extends ParserRuleContext {
13852 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
13853 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
13854 public SchemaNameContext schemaName() {
13855 return getRuleContext(SchemaNameContext.class,0);
13856 }
13857 public IfExistsContext ifExists() {
13858 return getRuleContext(IfExistsContext.class,0);
13859 }
13860 public DropSchemaContext(ParserRuleContext parent, int invokingState) {
13861 super(parent, invokingState);
13862 }
13863 @Override public int getRuleIndex() { return RULE_dropSchema; }
13864 @Override
13865 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13866 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropSchema(this);
13867 else return visitor.visitChildren(this);
13868 }
13869 }
13870
13871 public final DropSchemaContext dropSchema() throws RecognitionException {
13872 DropSchemaContext _localctx = new DropSchemaContext(_ctx, getState());
13873 enterRule(_localctx, 290, RULE_dropSchema);
13874 int _la;
13875 try {
13876 enterOuterAlt(_localctx, 1);
13877 {
13878 setState(2165);
13879 match(DROP);
13880 setState(2166);
13881 match(SCHEMA);
13882 setState(2168);
13883 _errHandler.sync(this);
13884 _la = _input.LA(1);
13885 if (_la==IF) {
13886 {
13887 setState(2167);
13888 ifExists();
13889 }
13890 }
13891
13892 setState(2170);
13893 schemaName();
13894 }
13895 }
13896 catch (RecognitionException re) {
13897 _localctx.exception = re;
13898 _errHandler.reportError(this, re);
13899 _errHandler.recover(this, re);
13900 }
13901 finally {
13902 exitRule();
13903 }
13904 return _localctx;
13905 }
13906
13907 public static class TruncateTableContext extends ParserRuleContext {
13908 public TerminalNode TRUNCATE() { return getToken(SQLServerStatementParser.TRUNCATE, 0); }
13909 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
13910 public TableNameContext tableName() {
13911 return getRuleContext(TableNameContext.class,0);
13912 }
13913 public TruncateTableContext(ParserRuleContext parent, int invokingState) {
13914 super(parent, invokingState);
13915 }
13916 @Override public int getRuleIndex() { return RULE_truncateTable; }
13917 @Override
13918 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13919 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTruncateTable(this);
13920 else return visitor.visitChildren(this);
13921 }
13922 }
13923
13924 public final TruncateTableContext truncateTable() throws RecognitionException {
13925 TruncateTableContext _localctx = new TruncateTableContext(_ctx, getState());
13926 enterRule(_localctx, 292, RULE_truncateTable);
13927 try {
13928 enterOuterAlt(_localctx, 1);
13929 {
13930 setState(2172);
13931 match(TRUNCATE);
13932 setState(2173);
13933 match(TABLE);
13934 setState(2174);
13935 tableName();
13936 }
13937 }
13938 catch (RecognitionException re) {
13939 _localctx.exception = re;
13940 _errHandler.reportError(this, re);
13941 _errHandler.recover(this, re);
13942 }
13943 finally {
13944 exitRule();
13945 }
13946 return _localctx;
13947 }
13948
13949 public static class FileTableClauseContext extends ParserRuleContext {
13950 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
13951 public TerminalNode FILETABLE() { return getToken(SQLServerStatementParser.FILETABLE, 0); }
13952 public FileTableClauseContext(ParserRuleContext parent, int invokingState) {
13953 super(parent, invokingState);
13954 }
13955 @Override public int getRuleIndex() { return RULE_fileTableClause; }
13956 @Override
13957 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
13958 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileTableClause(this);
13959 else return visitor.visitChildren(this);
13960 }
13961 }
13962
13963 public final FileTableClauseContext fileTableClause() throws RecognitionException {
13964 FileTableClauseContext _localctx = new FileTableClauseContext(_ctx, getState());
13965 enterRule(_localctx, 294, RULE_fileTableClause);
13966 int _la;
13967 try {
13968 enterOuterAlt(_localctx, 1);
13969 {
13970 setState(2178);
13971 _errHandler.sync(this);
13972 _la = _input.LA(1);
13973 if (_la==AS) {
13974 {
13975 setState(2176);
13976 match(AS);
13977 setState(2177);
13978 match(FILETABLE);
13979 }
13980 }
13981
13982 }
13983 }
13984 catch (RecognitionException re) {
13985 _localctx.exception = re;
13986 _errHandler.reportError(this, re);
13987 _errHandler.recover(this, re);
13988 }
13989 finally {
13990 exitRule();
13991 }
13992 return _localctx;
13993 }
13994
13995 public static class CreateDefinitionClauseContext extends ParserRuleContext {
13996 public CreateTableDefinitionsContext createTableDefinitions() {
13997 return getRuleContext(CreateTableDefinitionsContext.class,0);
13998 }
13999 public PartitionSchemeContext partitionScheme() {
14000 return getRuleContext(PartitionSchemeContext.class,0);
14001 }
14002 public FileGroupContext fileGroup() {
14003 return getRuleContext(FileGroupContext.class,0);
14004 }
14005 public CreateDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
14006 super(parent, invokingState);
14007 }
14008 @Override public int getRuleIndex() { return RULE_createDefinitionClause; }
14009 @Override
14010 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14011 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDefinitionClause(this);
14012 else return visitor.visitChildren(this);
14013 }
14014 }
14015
14016 public final CreateDefinitionClauseContext createDefinitionClause() throws RecognitionException {
14017 CreateDefinitionClauseContext _localctx = new CreateDefinitionClauseContext(_ctx, getState());
14018 enterRule(_localctx, 296, RULE_createDefinitionClause);
14019 try {
14020 enterOuterAlt(_localctx, 1);
14021 {
14022 setState(2180);
14023 createTableDefinitions();
14024 setState(2181);
14025 partitionScheme();
14026 setState(2182);
14027 fileGroup();
14028 }
14029 }
14030 catch (RecognitionException re) {
14031 _localctx.exception = re;
14032 _errHandler.reportError(this, re);
14033 _errHandler.recover(this, re);
14034 }
14035 finally {
14036 exitRule();
14037 }
14038 return _localctx;
14039 }
14040
14041 public static class CreateTableDefinitionsContext extends ParserRuleContext {
14042 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
14043 public List<CreateTableDefinitionContext> createTableDefinition() {
14044 return getRuleContexts(CreateTableDefinitionContext.class);
14045 }
14046 public CreateTableDefinitionContext createTableDefinition(int i) {
14047 return getRuleContext(CreateTableDefinitionContext.class,i);
14048 }
14049 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
14050 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14051 public TerminalNode COMMA_(int i) {
14052 return getToken(SQLServerStatementParser.COMMA_, i);
14053 }
14054 public PeriodClauseContext periodClause() {
14055 return getRuleContext(PeriodClauseContext.class,0);
14056 }
14057 public CreateTableDefinitionsContext(ParserRuleContext parent, int invokingState) {
14058 super(parent, invokingState);
14059 }
14060 @Override public int getRuleIndex() { return RULE_createTableDefinitions; }
14061 @Override
14062 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14063 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableDefinitions(this);
14064 else return visitor.visitChildren(this);
14065 }
14066 }
14067
14068 public final CreateTableDefinitionsContext createTableDefinitions() throws RecognitionException {
14069 CreateTableDefinitionsContext _localctx = new CreateTableDefinitionsContext(_ctx, getState());
14070 enterRule(_localctx, 298, RULE_createTableDefinitions);
14071 int _la;
14072 try {
14073 int _alt;
14074 enterOuterAlt(_localctx, 1);
14075 {
14076 setState(2184);
14077 match(LP_);
14078 setState(2185);
14079 createTableDefinition();
14080 setState(2190);
14081 _errHandler.sync(this);
14082 _alt = getInterpreter().adaptivePredict(_input,145,_ctx);
14083 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
14084 if ( _alt==1 ) {
14085 {
14086 {
14087 setState(2186);
14088 match(COMMA_);
14089 setState(2187);
14090 createTableDefinition();
14091 }
14092 }
14093 }
14094 setState(2192);
14095 _errHandler.sync(this);
14096 _alt = getInterpreter().adaptivePredict(_input,145,_ctx);
14097 }
14098 setState(2195);
14099 _errHandler.sync(this);
14100 _la = _input.LA(1);
14101 if (_la==COMMA_) {
14102 {
14103 setState(2193);
14104 match(COMMA_);
14105 setState(2194);
14106 periodClause();
14107 }
14108 }
14109
14110 setState(2197);
14111 match(RP_);
14112 }
14113 }
14114 catch (RecognitionException re) {
14115 _localctx.exception = re;
14116 _errHandler.reportError(this, re);
14117 _errHandler.recover(this, re);
14118 }
14119 finally {
14120 exitRule();
14121 }
14122 return _localctx;
14123 }
14124
14125 public static class CreateTableDefinitionContext extends ParserRuleContext {
14126 public ColumnDefinitionContext columnDefinition() {
14127 return getRuleContext(ColumnDefinitionContext.class,0);
14128 }
14129 public ComputedColumnDefinitionContext computedColumnDefinition() {
14130 return getRuleContext(ComputedColumnDefinitionContext.class,0);
14131 }
14132 public ColumnSetDefinitionContext columnSetDefinition() {
14133 return getRuleContext(ColumnSetDefinitionContext.class,0);
14134 }
14135 public TableConstraintContext tableConstraint() {
14136 return getRuleContext(TableConstraintContext.class,0);
14137 }
14138 public TableIndexContext tableIndex() {
14139 return getRuleContext(TableIndexContext.class,0);
14140 }
14141 public CreateTableDefinitionContext(ParserRuleContext parent, int invokingState) {
14142 super(parent, invokingState);
14143 }
14144 @Override public int getRuleIndex() { return RULE_createTableDefinition; }
14145 @Override
14146 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14147 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableDefinition(this);
14148 else return visitor.visitChildren(this);
14149 }
14150 }
14151
14152 public final CreateTableDefinitionContext createTableDefinition() throws RecognitionException {
14153 CreateTableDefinitionContext _localctx = new CreateTableDefinitionContext(_ctx, getState());
14154 enterRule(_localctx, 300, RULE_createTableDefinition);
14155 try {
14156 setState(2204);
14157 _errHandler.sync(this);
14158 switch ( getInterpreter().adaptivePredict(_input,147,_ctx) ) {
14159 case 1:
14160 enterOuterAlt(_localctx, 1);
14161 {
14162 setState(2199);
14163 columnDefinition();
14164 }
14165 break;
14166 case 2:
14167 enterOuterAlt(_localctx, 2);
14168 {
14169 setState(2200);
14170 computedColumnDefinition();
14171 }
14172 break;
14173 case 3:
14174 enterOuterAlt(_localctx, 3);
14175 {
14176 setState(2201);
14177 columnSetDefinition();
14178 }
14179 break;
14180 case 4:
14181 enterOuterAlt(_localctx, 4);
14182 {
14183 setState(2202);
14184 tableConstraint();
14185 }
14186 break;
14187 case 5:
14188 enterOuterAlt(_localctx, 5);
14189 {
14190 setState(2203);
14191 tableIndex();
14192 }
14193 break;
14194 }
14195 }
14196 catch (RecognitionException re) {
14197 _localctx.exception = re;
14198 _errHandler.reportError(this, re);
14199 _errHandler.recover(this, re);
14200 }
14201 finally {
14202 exitRule();
14203 }
14204 return _localctx;
14205 }
14206
14207 public static class ColumnDefinitionContext extends ParserRuleContext {
14208 public ColumnNameContext columnName() {
14209 return getRuleContext(ColumnNameContext.class,0);
14210 }
14211 public DataTypeContext dataType() {
14212 return getRuleContext(DataTypeContext.class,0);
14213 }
14214 public ColumnConstraintsContext columnConstraints() {
14215 return getRuleContext(ColumnConstraintsContext.class,0);
14216 }
14217 public List<ColumnDefinitionOptionContext> columnDefinitionOption() {
14218 return getRuleContexts(ColumnDefinitionOptionContext.class);
14219 }
14220 public ColumnDefinitionOptionContext columnDefinitionOption(int i) {
14221 return getRuleContext(ColumnDefinitionOptionContext.class,i);
14222 }
14223 public ColumnIndexContext columnIndex() {
14224 return getRuleContext(ColumnIndexContext.class,0);
14225 }
14226 public ColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
14227 super(parent, invokingState);
14228 }
14229 @Override public int getRuleIndex() { return RULE_columnDefinition; }
14230 @Override
14231 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14232 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnDefinition(this);
14233 else return visitor.visitChildren(this);
14234 }
14235 }
14236
14237 public final ColumnDefinitionContext columnDefinition() throws RecognitionException {
14238 ColumnDefinitionContext _localctx = new ColumnDefinitionContext(_ctx, getState());
14239 enterRule(_localctx, 302, RULE_columnDefinition);
14240 int _la;
14241 try {
14242 int _alt;
14243 enterOuterAlt(_localctx, 1);
14244 {
14245 setState(2206);
14246 columnName();
14247 setState(2207);
14248 dataType();
14249 setState(2211);
14250 _errHandler.sync(this);
14251 _alt = getInterpreter().adaptivePredict(_input,148,_ctx);
14252 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
14253 if ( _alt==1 ) {
14254 {
14255 {
14256 setState(2208);
14257 columnDefinitionOption();
14258 }
14259 }
14260 }
14261 setState(2213);
14262 _errHandler.sync(this);
14263 _alt = getInterpreter().adaptivePredict(_input,148,_ctx);
14264 }
14265 setState(2214);
14266 columnConstraints();
14267 setState(2216);
14268 _errHandler.sync(this);
14269 _la = _input.LA(1);
14270 if (_la==INDEX) {
14271 {
14272 setState(2215);
14273 columnIndex();
14274 }
14275 }
14276
14277 }
14278 }
14279 catch (RecognitionException re) {
14280 _localctx.exception = re;
14281 _errHandler.reportError(this, re);
14282 _errHandler.recover(this, re);
14283 }
14284 finally {
14285 exitRule();
14286 }
14287 return _localctx;
14288 }
14289
14290 public static class ColumnDefinitionOptionContext extends ParserRuleContext {
14291 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
14292 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
14293 public CollationNameContext collationName() {
14294 return getRuleContext(CollationNameContext.class,0);
14295 }
14296 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
14297 public TerminalNode MASKED() { return getToken(SQLServerStatementParser.MASKED, 0); }
14298 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
14299 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
14300 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
14301 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
14302 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
14303 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
14304 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
14305 public ExprContext expr() {
14306 return getRuleContext(ExprContext.class,0);
14307 }
14308 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
14309 public IgnoredIdentifierContext ignoredIdentifier() {
14310 return getRuleContext(IgnoredIdentifierContext.class,0);
14311 }
14312 public TerminalNode IDENTITY() { return getToken(SQLServerStatementParser.IDENTITY, 0); }
14313 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
14314 public TerminalNode NUMBER_(int i) {
14315 return getToken(SQLServerStatementParser.NUMBER_, i);
14316 }
14317 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14318 public TerminalNode COMMA_(int i) {
14319 return getToken(SQLServerStatementParser.COMMA_, i);
14320 }
14321 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
14322 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
14323 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
14324 public TerminalNode GENERATED() { return getToken(SQLServerStatementParser.GENERATED, 0); }
14325 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
14326 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
14327 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
14328 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
14329 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
14330 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
14331 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
14332 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
14333 public TerminalNode ENCRYPTED() { return getToken(SQLServerStatementParser.ENCRYPTED, 0); }
14334 public EncryptedOptionsContext encryptedOptions() {
14335 return getRuleContext(EncryptedOptionsContext.class,0);
14336 }
14337 public List<ColumnConstraintContext> columnConstraint() {
14338 return getRuleContexts(ColumnConstraintContext.class);
14339 }
14340 public ColumnConstraintContext columnConstraint(int i) {
14341 return getRuleContext(ColumnConstraintContext.class,i);
14342 }
14343 public ColumnIndexContext columnIndex() {
14344 return getRuleContext(ColumnIndexContext.class,0);
14345 }
14346 public ColumnDefinitionOptionContext(ParserRuleContext parent, int invokingState) {
14347 super(parent, invokingState);
14348 }
14349 @Override public int getRuleIndex() { return RULE_columnDefinitionOption; }
14350 @Override
14351 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14352 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnDefinitionOption(this);
14353 else return visitor.visitChildren(this);
14354 }
14355 }
14356
14357 public final ColumnDefinitionOptionContext columnDefinitionOption() throws RecognitionException {
14358 ColumnDefinitionOptionContext _localctx = new ColumnDefinitionOptionContext(_ctx, getState());
14359 enterRule(_localctx, 304, RULE_columnDefinitionOption);
14360 int _la;
14361 try {
14362 int _alt;
14363 setState(2271);
14364 _errHandler.sync(this);
14365 switch ( getInterpreter().adaptivePredict(_input,155,_ctx) ) {
14366 case 1:
14367 enterOuterAlt(_localctx, 1);
14368 {
14369 setState(2218);
14370 match(FILESTREAM);
14371 }
14372 break;
14373 case 2:
14374 enterOuterAlt(_localctx, 2);
14375 {
14376 setState(2219);
14377 match(COLLATE);
14378 setState(2220);
14379 collationName();
14380 }
14381 break;
14382 case 3:
14383 enterOuterAlt(_localctx, 3);
14384 {
14385 setState(2221);
14386 match(SPARSE);
14387 }
14388 break;
14389 case 4:
14390 enterOuterAlt(_localctx, 4);
14391 {
14392 setState(2222);
14393 match(MASKED);
14394 setState(2223);
14395 match(WITH);
14396 setState(2224);
14397 match(LP_);
14398 setState(2225);
14399 match(FUNCTION);
14400 setState(2226);
14401 match(EQ_);
14402 setState(2227);
14403 match(STRING_);
14404 setState(2228);
14405 match(RP_);
14406 }
14407 break;
14408 case 5:
14409 enterOuterAlt(_localctx, 5);
14410 {
14411 setState(2231);
14412 _errHandler.sync(this);
14413 _la = _input.LA(1);
14414 if (_la==CONSTRAINT) {
14415 {
14416 setState(2229);
14417 match(CONSTRAINT);
14418 setState(2230);
14419 ignoredIdentifier();
14420 }
14421 }
14422
14423 setState(2233);
14424 match(DEFAULT);
14425 setState(2234);
14426 expr(0);
14427 }
14428 break;
14429 case 6:
14430 enterOuterAlt(_localctx, 6);
14431 {
14432 setState(2235);
14433 match(IDENTITY);
14434 setState(2241);
14435 _errHandler.sync(this);
14436 _la = _input.LA(1);
14437 if (_la==LP_) {
14438 {
14439 setState(2236);
14440 match(LP_);
14441 setState(2237);
14442 match(NUMBER_);
14443 setState(2238);
14444 match(COMMA_);
14445 setState(2239);
14446 match(NUMBER_);
14447 setState(2240);
14448 match(RP_);
14449 }
14450 }
14451
14452 }
14453 break;
14454 case 7:
14455 enterOuterAlt(_localctx, 7);
14456 {
14457 setState(2243);
14458 match(NOT);
14459 setState(2244);
14460 match(FOR);
14461 setState(2245);
14462 match(REPLICATION);
14463 }
14464 break;
14465 case 8:
14466 enterOuterAlt(_localctx, 8);
14467 {
14468 setState(2246);
14469 match(GENERATED);
14470 setState(2247);
14471 match(ALWAYS);
14472 setState(2248);
14473 match(AS);
14474 setState(2249);
14475 match(ROW);
14476 setState(2250);
14477 _la = _input.LA(1);
14478 if ( !(_la==START || _la==END) ) {
14479 _errHandler.recoverInline(this);
14480 }
14481 else {
14482 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14483 _errHandler.reportMatch(this);
14484 consume();
14485 }
14486 setState(2252);
14487 _errHandler.sync(this);
14488 _la = _input.LA(1);
14489 if (_la==HIDDEN_) {
14490 {
14491 setState(2251);
14492 match(HIDDEN_);
14493 }
14494 }
14495
14496 }
14497 break;
14498 case 9:
14499 enterOuterAlt(_localctx, 9);
14500 {
14501 setState(2255);
14502 _errHandler.sync(this);
14503 _la = _input.LA(1);
14504 if (_la==NOT) {
14505 {
14506 setState(2254);
14507 match(NOT);
14508 }
14509 }
14510
14511 setState(2257);
14512 match(NULL);
14513 }
14514 break;
14515 case 10:
14516 enterOuterAlt(_localctx, 10);
14517 {
14518 setState(2258);
14519 match(ROWGUIDCOL);
14520 }
14521 break;
14522 case 11:
14523 enterOuterAlt(_localctx, 11);
14524 {
14525 setState(2259);
14526 match(ENCRYPTED);
14527 setState(2260);
14528 match(WITH);
14529 setState(2261);
14530 encryptedOptions();
14531 }
14532 break;
14533 case 12:
14534 enterOuterAlt(_localctx, 12);
14535 {
14536 setState(2262);
14537 columnConstraint();
14538 setState(2267);
14539 _errHandler.sync(this);
14540 _alt = getInterpreter().adaptivePredict(_input,154,_ctx);
14541 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
14542 if ( _alt==1 ) {
14543 {
14544 {
14545 setState(2263);
14546 match(COMMA_);
14547 setState(2264);
14548 columnConstraint();
14549 }
14550 }
14551 }
14552 setState(2269);
14553 _errHandler.sync(this);
14554 _alt = getInterpreter().adaptivePredict(_input,154,_ctx);
14555 }
14556 }
14557 break;
14558 case 13:
14559 enterOuterAlt(_localctx, 13);
14560 {
14561 setState(2270);
14562 columnIndex();
14563 }
14564 break;
14565 }
14566 }
14567 catch (RecognitionException re) {
14568 _localctx.exception = re;
14569 _errHandler.reportError(this, re);
14570 _errHandler.recover(this, re);
14571 }
14572 finally {
14573 exitRule();
14574 }
14575 return _localctx;
14576 }
14577
14578 public static class EncryptedOptionsContext extends ParserRuleContext {
14579 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
14580 public TerminalNode COLUMN_ENCRYPTION_KEY() { return getToken(SQLServerStatementParser.COLUMN_ENCRYPTION_KEY, 0); }
14581 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
14582 public TerminalNode EQ_(int i) {
14583 return getToken(SQLServerStatementParser.EQ_, i);
14584 }
14585 public IgnoredIdentifierContext ignoredIdentifier() {
14586 return getRuleContext(IgnoredIdentifierContext.class,0);
14587 }
14588 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
14589 public TerminalNode COMMA_(int i) {
14590 return getToken(SQLServerStatementParser.COMMA_, i);
14591 }
14592 public TerminalNode ENCRYPTION_TYPE() { return getToken(SQLServerStatementParser.ENCRYPTION_TYPE, 0); }
14593 public TerminalNode ALGORITHM() { return getToken(SQLServerStatementParser.ALGORITHM, 0); }
14594 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
14595 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
14596 public TerminalNode DETERMINISTIC() { return getToken(SQLServerStatementParser.DETERMINISTIC, 0); }
14597 public TerminalNode RANDOMIZED() { return getToken(SQLServerStatementParser.RANDOMIZED, 0); }
14598 public EncryptedOptionsContext(ParserRuleContext parent, int invokingState) {
14599 super(parent, invokingState);
14600 }
14601 @Override public int getRuleIndex() { return RULE_encryptedOptions; }
14602 @Override
14603 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14604 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEncryptedOptions(this);
14605 else return visitor.visitChildren(this);
14606 }
14607 }
14608
14609 public final EncryptedOptionsContext encryptedOptions() throws RecognitionException {
14610 EncryptedOptionsContext _localctx = new EncryptedOptionsContext(_ctx, getState());
14611 enterRule(_localctx, 306, RULE_encryptedOptions);
14612 int _la;
14613 try {
14614 enterOuterAlt(_localctx, 1);
14615 {
14616 setState(2273);
14617 match(LP_);
14618 setState(2274);
14619 match(COLUMN_ENCRYPTION_KEY);
14620 setState(2275);
14621 match(EQ_);
14622 setState(2276);
14623 ignoredIdentifier();
14624 setState(2277);
14625 match(COMMA_);
14626 setState(2278);
14627 match(ENCRYPTION_TYPE);
14628 setState(2279);
14629 match(EQ_);
14630 setState(2280);
14631 _la = _input.LA(1);
14632 if ( !(_la==DETERMINISTIC || _la==RANDOMIZED) ) {
14633 _errHandler.recoverInline(this);
14634 }
14635 else {
14636 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
14637 _errHandler.reportMatch(this);
14638 consume();
14639 }
14640 setState(2281);
14641 match(COMMA_);
14642 setState(2282);
14643 match(ALGORITHM);
14644 setState(2283);
14645 match(EQ_);
14646 setState(2284);
14647 match(STRING_);
14648 setState(2285);
14649 match(RP_);
14650 }
14651 }
14652 catch (RecognitionException re) {
14653 _localctx.exception = re;
14654 _errHandler.reportError(this, re);
14655 _errHandler.recover(this, re);
14656 }
14657 finally {
14658 exitRule();
14659 }
14660 return _localctx;
14661 }
14662
14663 public static class ColumnConstraintContext extends ParserRuleContext {
14664 public PrimaryKeyConstraintContext primaryKeyConstraint() {
14665 return getRuleContext(PrimaryKeyConstraintContext.class,0);
14666 }
14667 public ColumnForeignKeyConstraintContext columnForeignKeyConstraint() {
14668 return getRuleContext(ColumnForeignKeyConstraintContext.class,0);
14669 }
14670 public CheckConstraintContext checkConstraint() {
14671 return getRuleContext(CheckConstraintContext.class,0);
14672 }
14673 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
14674 public ConstraintNameContext constraintName() {
14675 return getRuleContext(ConstraintNameContext.class,0);
14676 }
14677 public ColumnConstraintContext(ParserRuleContext parent, int invokingState) {
14678 super(parent, invokingState);
14679 }
14680 @Override public int getRuleIndex() { return RULE_columnConstraint; }
14681 @Override
14682 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14683 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnConstraint(this);
14684 else return visitor.visitChildren(this);
14685 }
14686 }
14687
14688 public final ColumnConstraintContext columnConstraint() throws RecognitionException {
14689 ColumnConstraintContext _localctx = new ColumnConstraintContext(_ctx, getState());
14690 enterRule(_localctx, 308, RULE_columnConstraint);
14691 int _la;
14692 try {
14693 enterOuterAlt(_localctx, 1);
14694 {
14695 setState(2289);
14696 _errHandler.sync(this);
14697 _la = _input.LA(1);
14698 if (_la==CONSTRAINT) {
14699 {
14700 setState(2287);
14701 match(CONSTRAINT);
14702 setState(2288);
14703 constraintName();
14704 }
14705 }
14706
14707 setState(2294);
14708 _errHandler.sync(this);
14709 switch (_input.LA(1)) {
14710 case PRIMARY:
14711 case UNIQUE:
14712 case KEY:
14713 {
14714 setState(2291);
14715 primaryKeyConstraint();
14716 }
14717 break;
14718 case FOREIGN:
14719 case REFERENCES:
14720 {
14721 setState(2292);
14722 columnForeignKeyConstraint();
14723 }
14724 break;
14725 case CHECK:
14726 {
14727 setState(2293);
14728 checkConstraint();
14729 }
14730 break;
14731 default:
14732 throw new NoViableAltException(this);
14733 }
14734 }
14735 }
14736 catch (RecognitionException re) {
14737 _localctx.exception = re;
14738 _errHandler.reportError(this, re);
14739 _errHandler.recover(this, re);
14740 }
14741 finally {
14742 exitRule();
14743 }
14744 return _localctx;
14745 }
14746
14747 public static class ComputedColumnConstraintContext extends ParserRuleContext {
14748 public PrimaryKeyConstraintContext primaryKeyConstraint() {
14749 return getRuleContext(PrimaryKeyConstraintContext.class,0);
14750 }
14751 public ComputedColumnForeignKeyConstraintContext computedColumnForeignKeyConstraint() {
14752 return getRuleContext(ComputedColumnForeignKeyConstraintContext.class,0);
14753 }
14754 public CheckConstraintContext checkConstraint() {
14755 return getRuleContext(CheckConstraintContext.class,0);
14756 }
14757 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
14758 public ConstraintNameContext constraintName() {
14759 return getRuleContext(ConstraintNameContext.class,0);
14760 }
14761 public ComputedColumnConstraintContext(ParserRuleContext parent, int invokingState) {
14762 super(parent, invokingState);
14763 }
14764 @Override public int getRuleIndex() { return RULE_computedColumnConstraint; }
14765 @Override
14766 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
14767 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnConstraint(this);
14768 else return visitor.visitChildren(this);
14769 }
14770 }
14771
14772 public final ComputedColumnConstraintContext computedColumnConstraint() throws RecognitionException {
14773 ComputedColumnConstraintContext _localctx = new ComputedColumnConstraintContext(_ctx, getState());
14774 enterRule(_localctx, 310, RULE_computedColumnConstraint);
14775 int _la;
14776 try {
14777 enterOuterAlt(_localctx, 1);
14778 {
14779 setState(2298);
14780 _errHandler.sync(this);
14781 _la = _input.LA(1);
14782 if (_la==CONSTRAINT) {
14783 {
14784 setState(2296);
14785 match(CONSTRAINT);
14786 setState(2297);
14787 constraintName();
14788 }
14789 }
14790
14791 setState(2303);
14792 _errHandler.sync(this);
14793 switch (_input.LA(1)) {
14794 case PRIMARY:
14795 case UNIQUE:
14796 case KEY:
14797 {
14798 setState(2300);
14799 primaryKeyConstraint();
14800 }
14801 break;
14802 case TRUNCATE:
14803 case SCHEMA:
14804 case FOREIGN:
14805 case FUNCTION:
14806 case TRIGGER:
14807 case CAST:
14808 case GROUP:
14809 case LIMIT:
14810 case OFFSET:
14811 case SAVEPOINT:
14812 case BOOLEAN:
14813 case ARRAY:
14814 case DATE:
14815 case LOCALTIME:
14816 case LOCALTIMESTAMP:
14817 case QUARTER:
14818 case WEEK:
14819 case DAY:
14820 case MICROSECOND:
14821 case MAX:
14822 case MIN:
14823 case SUM:
14824 case COUNT:
14825 case AVG:
14826 case ENABLE:
14827 case DISABLE:
14828 case INSTANCE:
14829 case DO:
14830 case DEFINER:
14831 case SQL:
14832 case CASCADED:
14833 case LOCAL:
14834 case NEXT:
14835 case NAME:
14836 case INTEGER:
14837 case TYPE:
14838 case READ_ONLY:
14839 case DATABASE:
14840 case DATEPART:
14841 case PASSWORD:
14842 case BINARY:
14843 case HIDDEN_:
14844 case MOD:
14845 case PARTITION:
14846 case PARTITIONS:
14847 case TOP:
14848 case ROW:
14849 case ROWS:
14850 case XOR:
14851 case ALWAYS:
14852 case ROLE:
14853 case START:
14854 case ALGORITHM:
14855 case AUTO:
14856 case BLOCKERS:
14857 case CLUSTERED:
14858 case NONCLUSTERED:
14859 case COLUMNSTORE:
14860 case CONTENT:
14861 case YEARS:
14862 case MONTHS:
14863 case WEEKS:
14864 case DAYS:
14865 case MINUTES:
14866 case DENY:
14867 case DETERMINISTIC:
14868 case DISTRIBUTION:
14869 case DOCUMENT:
14870 case DURABILITY:
14871 case ENCRYPTED:
14872 case FILESTREAM:
14873 case FILETABLE:
14874 case FILLFACTOR:
14875 case FOLLOWING:
14876 case HASH:
14877 case HEAP:
14878 case INBOUND:
14879 case OUTBOUND:
14880 case UNBOUNDED:
14881 case INFINITE:
14882 case LOGIN:
14883 case MASKED:
14884 case MAXDOP:
14885 case MOVE:
14886 case NOCHECK:
14887 case OBJECT:
14888 case OFF:
14889 case ONLINE:
14890 case OVER:
14891 case PAGE:
14892 case PAUSED:
14893 case PERIOD:
14894 case PERSISTED:
14895 case PRECEDING:
14896 case RANDOMIZED:
14897 case RANGE:
14898 case REBUILD:
14899 case REPLICATE:
14900 case REPLICATION:
14901 case RESUMABLE:
14902 case ROWGUIDCOL:
14903 case SAVE:
14904 case SELF:
14905 case SPARSE:
14906 case SWITCH:
14907 case TRAN:
14908 case TRANCOUNT:
14909 case CONTROL:
14910 case CONCAT:
14911 case TAKE:
14912 case OWNERSHIP:
14913 case DEFINITION:
14914 case APPLICATION:
14915 case ASSEMBLY:
14916 case SYMMETRIC:
14917 case ASYMMETRIC:
14918 case SERVER:
14919 case RECEIVE:
14920 case CHANGE:
14921 case TRACE:
14922 case TRACKING:
14923 case RESOURCES:
14924 case SETTINGS:
14925 case STATE:
14926 case AVAILABILITY:
14927 case CREDENTIAL:
14928 case ENDPOINT:
14929 case EVENT:
14930 case NOTIFICATION:
14931 case LINKED:
14932 case AUDIT:
14933 case DDL:
14934 case XML:
14935 case IMPERSONATE:
14936 case SECURABLES:
14937 case AUTHENTICATE:
14938 case EXTERNAL:
14939 case ACCESS:
14940 case ADMINISTER:
14941 case BULK:
14942 case OPERATIONS:
14943 case UNSAFE:
14944 case SHUTDOWN:
14945 case SCOPED:
14946 case CONFIGURATION:
14947 case DATASPACE:
14948 case SERVICE:
14949 case CERTIFICATE:
14950 case CONTRACT:
14951 case ENCRYPTION:
14952 case MASTER:
14953 case DATA:
14954 case SOURCE:
14955 case FILE:
14956 case FORMAT:
14957 case LIBRARY:
14958 case FULLTEXT:
14959 case MASK:
14960 case UNMASK:
14961 case MESSAGE:
14962 case REMOTE:
14963 case BINDING:
14964 case ROUTE:
14965 case SECURITY:
14966 case POLICY:
14967 case AGGREGATE:
14968 case QUEUE:
14969 case RULE:
14970 case SYNONYM:
14971 case COLLECTION:
14972 case SCRIPT:
14973 case KILL:
14974 case BACKUP:
14975 case LOG:
14976 case SHOWPLAN:
14977 case SUBSCRIBE:
14978 case QUERY:
14979 case NOTIFICATIONS:
14980 case CHECKPOINT:
14981 case SEQUENCE:
14982 case ABORT_AFTER_WAIT:
14983 case ALLOW_PAGE_LOCKS:
14984 case ALLOW_ROW_LOCKS:
14985 case ALL_SPARSE_COLUMNS:
14986 case BUCKET_COUNT:
14987 case COLUMNSTORE_ARCHIVE:
14988 case COLUMN_ENCRYPTION_KEY:
14989 case COLUMN_SET:
14990 case COMPRESSION_DELAY:
14991 case DATABASE_DEAULT:
14992 case DATA_COMPRESSION:
14993 case DATA_CONSISTENCY_CHECK:
14994 case ENCRYPTION_TYPE:
14995 case SYSTEM_TIME:
14996 case SYSTEM_VERSIONING:
14997 case TEXTIMAGE_ON:
14998 case WAIT_AT_LOW_PRIORITY:
14999 case STATISTICS_INCREMENTAL:
15000 case STATISTICS_NORECOMPUTE:
15001 case ROUND_ROBIN:
15002 case SCHEMA_AND_DATA:
15003 case SCHEMA_ONLY:
15004 case SORT_IN_TEMPDB:
15005 case IGNORE_DUP_KEY:
15006 case IMPLICIT_TRANSACTIONS:
15007 case MAX_DURATION:
15008 case MEMORY_OPTIMIZED:
15009 case MIGRATION_STATE:
15010 case PAD_INDEX:
15011 case REMOTE_DATA_ARCHIVE:
15012 case FILESTREAM_ON:
15013 case FILETABLE_COLLATE_FILENAME:
15014 case FILETABLE_DIRECTORY:
15015 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
15016 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
15017 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
15018 case FILTER_PREDICATE:
15019 case HISTORY_RETENTION_PERIOD:
15020 case HISTORY_TABLE:
15021 case LOCK_ESCALATION:
15022 case DROP_EXISTING:
15023 case ROW_NUMBER:
15024 case FIRST:
15025 case DATETIME2:
15026 case OUTPUT:
15027 case INSERTED:
15028 case DELETED:
15029 case FILENAME:
15030 case MAXSIZE:
15031 case FILEGROWTH:
15032 case UNLIMITED:
15033 case KB:
15034 case MB:
15035 case GB:
15036 case TB:
15037 case MEMORY_OPTIMIZED_DATA:
15038 case FILEGROUP:
15039 case NON_TRANSACTED_ACCESS:
15040 case DB_CHAINING:
15041 case TRUSTWORTHY:
15042 case FORWARD_ONLY:
15043 case KEYSET:
15044 case FAST_FORWARD:
15045 case SCROLL_LOCKS:
15046 case OPTIMISTIC:
15047 case TYPE_WARNING:
15048 case SCHEMABINDING:
15049 case CALLER:
15050 case OWNER:
15051 case SNAPSHOT:
15052 case REPEATABLE:
15053 case SERIALIZABLE:
15054 case NATIVE_COMPILATION:
15055 case VIEW_METADATA:
15056 case INSTEAD:
15057 case APPEND:
15058 case INCREMENT:
15059 case CACHE:
15060 case MINVALUE:
15061 case MAXVALUE:
15062 case RESTART:
15063 case LOB_COMPACTION:
15064 case COMPRESS_ALL_ROW_GROUPS:
15065 case REORGANIZE:
15066 case RESUME:
15067 case PAUSE:
15068 case ABORT:
15069 case ACCELERATED_DATABASE_RECOVERY:
15070 case PERSISTENT_VERSION_STORE_FILEGROUP:
15071 case IMMEDIATE:
15072 case NO_WAIT:
15073 case TARGET_RECOVERY_TIME:
15074 case SECONDS:
15075 case HONOR_BROKER_PRIORITY:
15076 case ERROR_BROKER_CONVERSATIONS:
15077 case NEW_BROKER:
15078 case DISABLE_BROKER:
15079 case ENABLE_BROKER:
15080 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
15081 case READ_COMMITTED_SNAPSHOT:
15082 case ALLOW_SNAPSHOT_ISOLATION:
15083 case RECURSIVE_TRIGGERS:
15084 case QUOTED_IDENTIFIER:
15085 case NUMERIC_ROUNDABORT:
15086 case CONCAT_NULL_YIELDS_NULL:
15087 case COMPATIBILITY_LEVEL:
15088 case ARITHABORT:
15089 case ANSI_WARNINGS:
15090 case ANSI_PADDING:
15091 case ANSI_NULLS:
15092 case ANSI_NULL_DEFAULT:
15093 case PAGE_VERIFY:
15094 case CHECKSUM:
15095 case TORN_PAGE_DETECTION:
15096 case BULK_LOGGED:
15097 case RECOVERY:
15098 case TOTAL_EXECUTION_CPU_TIME_MS:
15099 case TOTAL_COMPILE_CPU_TIME_MS:
15100 case STALE_CAPTURE_POLICY_THRESHOLD:
15101 case EXECUTION_COUNT:
15102 case QUERY_CAPTURE_POLICY:
15103 case WAIT_STATS_CAPTURE_MODE:
15104 case MAX_PLANS_PER_QUERY:
15105 case QUERY_CAPTURE_MODE:
15106 case SIZE_BASED_CLEANUP_MODE:
15107 case INTERVAL_LENGTH_MINUTES:
15108 case MAX_STORAGE_SIZE_MB:
15109 case DATA_FLUSH_INTERVAL_SECONDS:
15110 case CLEANUP_POLICY:
15111 case CUSTOM:
15112 case STALE_QUERY_THRESHOLD_DAYS:
15113 case OPERATION_MODE:
15114 case QUERY_STORE:
15115 case CURSOR_DEFAULT:
15116 case GLOBAL:
15117 case CURSOR_CLOSE_ON_COMMIT:
15118 case HOURS:
15119 case CHANGE_RETENTION:
15120 case AUTO_CLEANUP:
15121 case CHANGE_TRACKING:
15122 case AUTOMATIC_TUNING:
15123 case FORCE_LAST_GOOD_PLAN:
15124 case AUTO_UPDATE_STATISTICS_ASYNC:
15125 case AUTO_UPDATE_STATISTICS:
15126 case AUTO_SHRINK:
15127 case AUTO_CREATE_STATISTICS:
15128 case INCREMENTAL:
15129 case AUTO_CLOSE:
15130 case DATA_RETENTION:
15131 case TEMPORAL_HISTORY_RETENTION:
15132 case EDITION:
15133 case MIXED_PAGE_ALLOCATION:
15134 case DISABLED:
15135 case ALLOWED:
15136 case HADR:
15137 case MULTI_USER:
15138 case RESTRICTED_USER:
15139 case SINGLE_USER:
15140 case OFFLINE:
15141 case EMERGENCY:
15142 case SUSPEND:
15143 case DATE_CORRELATION_OPTIMIZATION:
15144 case ELASTIC_POOL:
15145 case SERVICE_OBJECTIVE:
15146 case DATABASE_NAME:
15147 case ALLOW_CONNECTIONS:
15148 case GEO:
15149 case NAMED:
15150 case DATEFIRST:
15151 case BACKUP_STORAGE_REDUNDANCY:
15152 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
15153 case SECONDARY:
15154 case FAILOVER:
15155 case DEFAULT_FULLTEXT_LANGUAGE:
15156 case DEFAULT_LANGUAGE:
15157 case INLINE:
15158 case NESTED_TRIGGERS:
15159 case TRANSFORM_NOISE_WORDS:
15160 case TWO_DIGIT_YEAR_CUTOFF:
15161 case PERSISTENT_LOG_BUFFER:
15162 case DIRECTORY_NAME:
15163 case DATEFORMAT:
15164 case DELAYED_DURABILITY:
15165 case AUTHORIZATION:
15166 case TRANSFER:
15167 case SEARCH:
15168 case MEMBER:
15169 case IDENTIFIER_:
15170 case DELIMITED_IDENTIFIER_:
15171 {
15172 setState(2301);
15173 computedColumnForeignKeyConstraint();
15174 }
15175 break;
15176 case CHECK:
15177 {
15178 setState(2302);
15179 checkConstraint();
15180 }
15181 break;
15182 default:
15183 throw new NoViableAltException(this);
15184 }
15185 }
15186 }
15187 catch (RecognitionException re) {
15188 _localctx.exception = re;
15189 _errHandler.reportError(this, re);
15190 _errHandler.recover(this, re);
15191 }
15192 finally {
15193 exitRule();
15194 }
15195 return _localctx;
15196 }
15197
15198 public static class ComputedColumnForeignKeyConstraintContext extends ParserRuleContext {
15199 public TableNameContext tableName() {
15200 return getRuleContext(TableNameContext.class,0);
15201 }
15202 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
15203 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
15204 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15205 public ColumnNameContext columnName() {
15206 return getRuleContext(ColumnNameContext.class,0);
15207 }
15208 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15209 public List<ComputedColumnForeignKeyOnActionContext> computedColumnForeignKeyOnAction() {
15210 return getRuleContexts(ComputedColumnForeignKeyOnActionContext.class);
15211 }
15212 public ComputedColumnForeignKeyOnActionContext computedColumnForeignKeyOnAction(int i) {
15213 return getRuleContext(ComputedColumnForeignKeyOnActionContext.class,i);
15214 }
15215 public ComputedColumnForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
15216 super(parent, invokingState);
15217 }
15218 @Override public int getRuleIndex() { return RULE_computedColumnForeignKeyConstraint; }
15219 @Override
15220 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15221 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnForeignKeyConstraint(this);
15222 else return visitor.visitChildren(this);
15223 }
15224 }
15225
15226 public final ComputedColumnForeignKeyConstraintContext computedColumnForeignKeyConstraint() throws RecognitionException {
15227 ComputedColumnForeignKeyConstraintContext _localctx = new ComputedColumnForeignKeyConstraintContext(_ctx, getState());
15228 enterRule(_localctx, 312, RULE_computedColumnForeignKeyConstraint);
15229 int _la;
15230 try {
15231 enterOuterAlt(_localctx, 1);
15232 {
15233 setState(2307);
15234 _errHandler.sync(this);
15235 _la = _input.LA(1);
15236 if (_la==FOREIGN) {
15237 {
15238 setState(2305);
15239 match(FOREIGN);
15240 setState(2306);
15241 match(KEY);
15242 }
15243 }
15244
15245 setState(2309);
15246 tableName();
15247 setState(2314);
15248 _errHandler.sync(this);
15249 switch ( getInterpreter().adaptivePredict(_input,161,_ctx) ) {
15250 case 1:
15251 {
15252 setState(2310);
15253 match(LP_);
15254 setState(2311);
15255 columnName();
15256 setState(2312);
15257 match(RP_);
15258 }
15259 break;
15260 }
15261 setState(2319);
15262 _errHandler.sync(this);
15263 _la = _input.LA(1);
15264 while (_la==ON || _la==NOT) {
15265 {
15266 {
15267 setState(2316);
15268 computedColumnForeignKeyOnAction();
15269 }
15270 }
15271 setState(2321);
15272 _errHandler.sync(this);
15273 _la = _input.LA(1);
15274 }
15275 }
15276 }
15277 catch (RecognitionException re) {
15278 _localctx.exception = re;
15279 _errHandler.reportError(this, re);
15280 _errHandler.recover(this, re);
15281 }
15282 finally {
15283 exitRule();
15284 }
15285 return _localctx;
15286 }
15287
15288 public static class ComputedColumnForeignKeyOnActionContext extends ParserRuleContext {
15289 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
15290 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
15291 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
15292 public TerminalNode ACTION() { return getToken(SQLServerStatementParser.ACTION, 0); }
15293 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
15294 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
15295 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
15296 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
15297 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
15298 public ComputedColumnForeignKeyOnActionContext(ParserRuleContext parent, int invokingState) {
15299 super(parent, invokingState);
15300 }
15301 @Override public int getRuleIndex() { return RULE_computedColumnForeignKeyOnAction; }
15302 @Override
15303 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15304 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnForeignKeyOnAction(this);
15305 else return visitor.visitChildren(this);
15306 }
15307 }
15308
15309 public final ComputedColumnForeignKeyOnActionContext computedColumnForeignKeyOnAction() throws RecognitionException {
15310 ComputedColumnForeignKeyOnActionContext _localctx = new ComputedColumnForeignKeyOnActionContext(_ctx, getState());
15311 enterRule(_localctx, 314, RULE_computedColumnForeignKeyOnAction);
15312 try {
15313 setState(2336);
15314 _errHandler.sync(this);
15315 switch ( getInterpreter().adaptivePredict(_input,164,_ctx) ) {
15316 case 1:
15317 enterOuterAlt(_localctx, 1);
15318 {
15319 setState(2322);
15320 match(ON);
15321 setState(2323);
15322 match(DELETE);
15323 setState(2327);
15324 _errHandler.sync(this);
15325 switch (_input.LA(1)) {
15326 case NO:
15327 {
15328 setState(2324);
15329 match(NO);
15330 setState(2325);
15331 match(ACTION);
15332 }
15333 break;
15334 case CASCADE:
15335 {
15336 setState(2326);
15337 match(CASCADE);
15338 }
15339 break;
15340 default:
15341 throw new NoViableAltException(this);
15342 }
15343 }
15344 break;
15345 case 2:
15346 enterOuterAlt(_localctx, 2);
15347 {
15348 setState(2329);
15349 match(ON);
15350 setState(2330);
15351 match(UPDATE);
15352 setState(2331);
15353 match(NO);
15354 setState(2332);
15355 match(ACTION);
15356 }
15357 break;
15358 case 3:
15359 enterOuterAlt(_localctx, 3);
15360 {
15361 setState(2333);
15362 match(NOT);
15363 setState(2334);
15364 match(FOR);
15365 setState(2335);
15366 match(REPLICATION);
15367 }
15368 break;
15369 }
15370 }
15371 catch (RecognitionException re) {
15372 _localctx.exception = re;
15373 _errHandler.reportError(this, re);
15374 _errHandler.recover(this, re);
15375 }
15376 finally {
15377 exitRule();
15378 }
15379 return _localctx;
15380 }
15381
15382 public static class PrimaryKeyConstraintContext extends ParserRuleContext {
15383 public PrimaryKeyContext primaryKey() {
15384 return getRuleContext(PrimaryKeyContext.class,0);
15385 }
15386 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
15387 public DiskTablePrimaryKeyConstraintOptionContext diskTablePrimaryKeyConstraintOption() {
15388 return getRuleContext(DiskTablePrimaryKeyConstraintOptionContext.class,0);
15389 }
15390 public MemoryTablePrimaryKeyConstraintOptionContext memoryTablePrimaryKeyConstraintOption() {
15391 return getRuleContext(MemoryTablePrimaryKeyConstraintOptionContext.class,0);
15392 }
15393 public PrimaryKeyConstraintContext(ParserRuleContext parent, int invokingState) {
15394 super(parent, invokingState);
15395 }
15396 @Override public int getRuleIndex() { return RULE_primaryKeyConstraint; }
15397 @Override
15398 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15399 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyConstraint(this);
15400 else return visitor.visitChildren(this);
15401 }
15402 }
15403
15404 public final PrimaryKeyConstraintContext primaryKeyConstraint() throws RecognitionException {
15405 PrimaryKeyConstraintContext _localctx = new PrimaryKeyConstraintContext(_ctx, getState());
15406 enterRule(_localctx, 316, RULE_primaryKeyConstraint);
15407 try {
15408 enterOuterAlt(_localctx, 1);
15409 {
15410 setState(2340);
15411 _errHandler.sync(this);
15412 switch (_input.LA(1)) {
15413 case PRIMARY:
15414 case KEY:
15415 {
15416 setState(2338);
15417 primaryKey();
15418 }
15419 break;
15420 case UNIQUE:
15421 {
15422 setState(2339);
15423 match(UNIQUE);
15424 }
15425 break;
15426 default:
15427 throw new NoViableAltException(this);
15428 }
15429 setState(2344);
15430 _errHandler.sync(this);
15431 switch ( getInterpreter().adaptivePredict(_input,166,_ctx) ) {
15432 case 1:
15433 {
15434 setState(2342);
15435 diskTablePrimaryKeyConstraintOption();
15436 }
15437 break;
15438 case 2:
15439 {
15440 setState(2343);
15441 memoryTablePrimaryKeyConstraintOption();
15442 }
15443 break;
15444 }
15445 }
15446 }
15447 catch (RecognitionException re) {
15448 _localctx.exception = re;
15449 _errHandler.reportError(this, re);
15450 _errHandler.recover(this, re);
15451 }
15452 finally {
15453 exitRule();
15454 }
15455 return _localctx;
15456 }
15457
15458 public static class DiskTablePrimaryKeyConstraintOptionContext extends ParserRuleContext {
15459 public ClusterOptionContext clusterOption() {
15460 return getRuleContext(ClusterOptionContext.class,0);
15461 }
15462 public PrimaryKeyWithClauseContext primaryKeyWithClause() {
15463 return getRuleContext(PrimaryKeyWithClauseContext.class,0);
15464 }
15465 public PrimaryKeyOnClauseContext primaryKeyOnClause() {
15466 return getRuleContext(PrimaryKeyOnClauseContext.class,0);
15467 }
15468 public DiskTablePrimaryKeyConstraintOptionContext(ParserRuleContext parent, int invokingState) {
15469 super(parent, invokingState);
15470 }
15471 @Override public int getRuleIndex() { return RULE_diskTablePrimaryKeyConstraintOption; }
15472 @Override
15473 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15474 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDiskTablePrimaryKeyConstraintOption(this);
15475 else return visitor.visitChildren(this);
15476 }
15477 }
15478
15479 public final DiskTablePrimaryKeyConstraintOptionContext diskTablePrimaryKeyConstraintOption() throws RecognitionException {
15480 DiskTablePrimaryKeyConstraintOptionContext _localctx = new DiskTablePrimaryKeyConstraintOptionContext(_ctx, getState());
15481 enterRule(_localctx, 318, RULE_diskTablePrimaryKeyConstraintOption);
15482 int _la;
15483 try {
15484 enterOuterAlt(_localctx, 1);
15485 {
15486 setState(2347);
15487 _errHandler.sync(this);
15488 _la = _input.LA(1);
15489 if (_la==CLUSTERED || _la==NONCLUSTERED) {
15490 {
15491 setState(2346);
15492 clusterOption();
15493 }
15494 }
15495
15496 setState(2350);
15497 _errHandler.sync(this);
15498 switch ( getInterpreter().adaptivePredict(_input,168,_ctx) ) {
15499 case 1:
15500 {
15501 setState(2349);
15502 primaryKeyWithClause();
15503 }
15504 break;
15505 }
15506 setState(2353);
15507 _errHandler.sync(this);
15508 _la = _input.LA(1);
15509 if (_la==ON) {
15510 {
15511 setState(2352);
15512 primaryKeyOnClause();
15513 }
15514 }
15515
15516 }
15517 }
15518 catch (RecognitionException re) {
15519 _localctx.exception = re;
15520 _errHandler.reportError(this, re);
15521 _errHandler.recover(this, re);
15522 }
15523 finally {
15524 exitRule();
15525 }
15526 return _localctx;
15527 }
15528
15529 public static class ClusterOptionContext extends ParserRuleContext {
15530 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
15531 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
15532 public ClusterOptionContext(ParserRuleContext parent, int invokingState) {
15533 super(parent, invokingState);
15534 }
15535 @Override public int getRuleIndex() { return RULE_clusterOption; }
15536 @Override
15537 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15538 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClusterOption(this);
15539 else return visitor.visitChildren(this);
15540 }
15541 }
15542
15543 public final ClusterOptionContext clusterOption() throws RecognitionException {
15544 ClusterOptionContext _localctx = new ClusterOptionContext(_ctx, getState());
15545 enterRule(_localctx, 320, RULE_clusterOption);
15546 int _la;
15547 try {
15548 enterOuterAlt(_localctx, 1);
15549 {
15550 setState(2355);
15551 _la = _input.LA(1);
15552 if ( !(_la==CLUSTERED || _la==NONCLUSTERED) ) {
15553 _errHandler.recoverInline(this);
15554 }
15555 else {
15556 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
15557 _errHandler.reportMatch(this);
15558 consume();
15559 }
15560 }
15561 }
15562 catch (RecognitionException re) {
15563 _localctx.exception = re;
15564 _errHandler.reportError(this, re);
15565 _errHandler.recover(this, re);
15566 }
15567 finally {
15568 exitRule();
15569 }
15570 return _localctx;
15571 }
15572
15573 public static class PrimaryKeyWithClauseContext extends ParserRuleContext {
15574 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
15575 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
15576 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
15577 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
15578 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15579 public List<IndexOptionContext> indexOption() {
15580 return getRuleContexts(IndexOptionContext.class);
15581 }
15582 public IndexOptionContext indexOption(int i) {
15583 return getRuleContext(IndexOptionContext.class,i);
15584 }
15585 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15586 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
15587 public TerminalNode COMMA_(int i) {
15588 return getToken(SQLServerStatementParser.COMMA_, i);
15589 }
15590 public PrimaryKeyWithClauseContext(ParserRuleContext parent, int invokingState) {
15591 super(parent, invokingState);
15592 }
15593 @Override public int getRuleIndex() { return RULE_primaryKeyWithClause; }
15594 @Override
15595 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15596 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyWithClause(this);
15597 else return visitor.visitChildren(this);
15598 }
15599 }
15600
15601 public final PrimaryKeyWithClauseContext primaryKeyWithClause() throws RecognitionException {
15602 PrimaryKeyWithClauseContext _localctx = new PrimaryKeyWithClauseContext(_ctx, getState());
15603 enterRule(_localctx, 322, RULE_primaryKeyWithClause);
15604 int _la;
15605 try {
15606 enterOuterAlt(_localctx, 1);
15607 {
15608 setState(2357);
15609 match(WITH);
15610 setState(2372);
15611 _errHandler.sync(this);
15612 switch (_input.LA(1)) {
15613 case FILLFACTOR:
15614 {
15615 setState(2358);
15616 match(FILLFACTOR);
15617 setState(2359);
15618 match(EQ_);
15619 setState(2360);
15620 match(NUMBER_);
15621 }
15622 break;
15623 case LP_:
15624 {
15625 setState(2361);
15626 match(LP_);
15627 setState(2362);
15628 indexOption();
15629 setState(2367);
15630 _errHandler.sync(this);
15631 _la = _input.LA(1);
15632 while (_la==COMMA_) {
15633 {
15634 {
15635 setState(2363);
15636 match(COMMA_);
15637 setState(2364);
15638 indexOption();
15639 }
15640 }
15641 setState(2369);
15642 _errHandler.sync(this);
15643 _la = _input.LA(1);
15644 }
15645 setState(2370);
15646 match(RP_);
15647 }
15648 break;
15649 default:
15650 throw new NoViableAltException(this);
15651 }
15652 }
15653 }
15654 catch (RecognitionException re) {
15655 _localctx.exception = re;
15656 _errHandler.reportError(this, re);
15657 _errHandler.recover(this, re);
15658 }
15659 finally {
15660 exitRule();
15661 }
15662 return _localctx;
15663 }
15664
15665 public static class PrimaryKeyOnClauseContext extends ParserRuleContext {
15666 public OnSchemaColumnContext onSchemaColumn() {
15667 return getRuleContext(OnSchemaColumnContext.class,0);
15668 }
15669 public OnFileGroupContext onFileGroup() {
15670 return getRuleContext(OnFileGroupContext.class,0);
15671 }
15672 public OnStringContext onString() {
15673 return getRuleContext(OnStringContext.class,0);
15674 }
15675 public PrimaryKeyOnClauseContext(ParserRuleContext parent, int invokingState) {
15676 super(parent, invokingState);
15677 }
15678 @Override public int getRuleIndex() { return RULE_primaryKeyOnClause; }
15679 @Override
15680 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15681 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyOnClause(this);
15682 else return visitor.visitChildren(this);
15683 }
15684 }
15685
15686 public final PrimaryKeyOnClauseContext primaryKeyOnClause() throws RecognitionException {
15687 PrimaryKeyOnClauseContext _localctx = new PrimaryKeyOnClauseContext(_ctx, getState());
15688 enterRule(_localctx, 324, RULE_primaryKeyOnClause);
15689 try {
15690 setState(2377);
15691 _errHandler.sync(this);
15692 switch ( getInterpreter().adaptivePredict(_input,172,_ctx) ) {
15693 case 1:
15694 enterOuterAlt(_localctx, 1);
15695 {
15696 setState(2374);
15697 onSchemaColumn();
15698 }
15699 break;
15700 case 2:
15701 enterOuterAlt(_localctx, 2);
15702 {
15703 setState(2375);
15704 onFileGroup();
15705 }
15706 break;
15707 case 3:
15708 enterOuterAlt(_localctx, 3);
15709 {
15710 setState(2376);
15711 onString();
15712 }
15713 break;
15714 }
15715 }
15716 catch (RecognitionException re) {
15717 _localctx.exception = re;
15718 _errHandler.reportError(this, re);
15719 _errHandler.recover(this, re);
15720 }
15721 finally {
15722 exitRule();
15723 }
15724 return _localctx;
15725 }
15726
15727 public static class OnSchemaColumnContext extends ParserRuleContext {
15728 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
15729 public SchemaNameContext schemaName() {
15730 return getRuleContext(SchemaNameContext.class,0);
15731 }
15732 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15733 public ColumnNameContext columnName() {
15734 return getRuleContext(ColumnNameContext.class,0);
15735 }
15736 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15737 public OnSchemaColumnContext(ParserRuleContext parent, int invokingState) {
15738 super(parent, invokingState);
15739 }
15740 @Override public int getRuleIndex() { return RULE_onSchemaColumn; }
15741 @Override
15742 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15743 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnSchemaColumn(this);
15744 else return visitor.visitChildren(this);
15745 }
15746 }
15747
15748 public final OnSchemaColumnContext onSchemaColumn() throws RecognitionException {
15749 OnSchemaColumnContext _localctx = new OnSchemaColumnContext(_ctx, getState());
15750 enterRule(_localctx, 326, RULE_onSchemaColumn);
15751 try {
15752 enterOuterAlt(_localctx, 1);
15753 {
15754 setState(2379);
15755 match(ON);
15756 setState(2380);
15757 schemaName();
15758 setState(2381);
15759 match(LP_);
15760 setState(2382);
15761 columnName();
15762 setState(2383);
15763 match(RP_);
15764 }
15765 }
15766 catch (RecognitionException re) {
15767 _localctx.exception = re;
15768 _errHandler.reportError(this, re);
15769 _errHandler.recover(this, re);
15770 }
15771 finally {
15772 exitRule();
15773 }
15774 return _localctx;
15775 }
15776
15777 public static class OnFileGroupContext extends ParserRuleContext {
15778 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
15779 public IgnoredIdentifierContext ignoredIdentifier() {
15780 return getRuleContext(IgnoredIdentifierContext.class,0);
15781 }
15782 public OnFileGroupContext(ParserRuleContext parent, int invokingState) {
15783 super(parent, invokingState);
15784 }
15785 @Override public int getRuleIndex() { return RULE_onFileGroup; }
15786 @Override
15787 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15788 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnFileGroup(this);
15789 else return visitor.visitChildren(this);
15790 }
15791 }
15792
15793 public final OnFileGroupContext onFileGroup() throws RecognitionException {
15794 OnFileGroupContext _localctx = new OnFileGroupContext(_ctx, getState());
15795 enterRule(_localctx, 328, RULE_onFileGroup);
15796 try {
15797 enterOuterAlt(_localctx, 1);
15798 {
15799 setState(2385);
15800 match(ON);
15801 setState(2386);
15802 ignoredIdentifier();
15803 }
15804 }
15805 catch (RecognitionException re) {
15806 _localctx.exception = re;
15807 _errHandler.reportError(this, re);
15808 _errHandler.recover(this, re);
15809 }
15810 finally {
15811 exitRule();
15812 }
15813 return _localctx;
15814 }
15815
15816 public static class OnStringContext extends ParserRuleContext {
15817 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
15818 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
15819 public OnStringContext(ParserRuleContext parent, int invokingState) {
15820 super(parent, invokingState);
15821 }
15822 @Override public int getRuleIndex() { return RULE_onString; }
15823 @Override
15824 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15825 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnString(this);
15826 else return visitor.visitChildren(this);
15827 }
15828 }
15829
15830 public final OnStringContext onString() throws RecognitionException {
15831 OnStringContext _localctx = new OnStringContext(_ctx, getState());
15832 enterRule(_localctx, 330, RULE_onString);
15833 try {
15834 enterOuterAlt(_localctx, 1);
15835 {
15836 setState(2388);
15837 match(ON);
15838 setState(2389);
15839 match(STRING_);
15840 }
15841 }
15842 catch (RecognitionException re) {
15843 _localctx.exception = re;
15844 _errHandler.reportError(this, re);
15845 _errHandler.recover(this, re);
15846 }
15847 finally {
15848 exitRule();
15849 }
15850 return _localctx;
15851 }
15852
15853 public static class MemoryTablePrimaryKeyConstraintOptionContext extends ParserRuleContext {
15854 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
15855 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
15856 public WithBucketContext withBucket() {
15857 return getRuleContext(WithBucketContext.class,0);
15858 }
15859 public MemoryTablePrimaryKeyConstraintOptionContext(ParserRuleContext parent, int invokingState) {
15860 super(parent, invokingState);
15861 }
15862 @Override public int getRuleIndex() { return RULE_memoryTablePrimaryKeyConstraintOption; }
15863 @Override
15864 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15865 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMemoryTablePrimaryKeyConstraintOption(this);
15866 else return visitor.visitChildren(this);
15867 }
15868 }
15869
15870 public final MemoryTablePrimaryKeyConstraintOptionContext memoryTablePrimaryKeyConstraintOption() throws RecognitionException {
15871 MemoryTablePrimaryKeyConstraintOptionContext _localctx = new MemoryTablePrimaryKeyConstraintOptionContext(_ctx, getState());
15872 enterRule(_localctx, 332, RULE_memoryTablePrimaryKeyConstraintOption);
15873 try {
15874 setState(2397);
15875 _errHandler.sync(this);
15876 switch ( getInterpreter().adaptivePredict(_input,174,_ctx) ) {
15877 case 1:
15878 enterOuterAlt(_localctx, 1);
15879 {
15880 setState(2391);
15881 match(NONCLUSTERED);
15882 }
15883 break;
15884 case 2:
15885 enterOuterAlt(_localctx, 2);
15886 {
15887 setState(2392);
15888 match(NONCLUSTERED);
15889 setState(2393);
15890 match(HASH);
15891 setState(2395);
15892 _errHandler.sync(this);
15893 switch ( getInterpreter().adaptivePredict(_input,173,_ctx) ) {
15894 case 1:
15895 {
15896 setState(2394);
15897 withBucket();
15898 }
15899 break;
15900 }
15901 }
15902 break;
15903 }
15904 }
15905 catch (RecognitionException re) {
15906 _localctx.exception = re;
15907 _errHandler.reportError(this, re);
15908 _errHandler.recover(this, re);
15909 }
15910 finally {
15911 exitRule();
15912 }
15913 return _localctx;
15914 }
15915
15916 public static class WithBucketContext extends ParserRuleContext {
15917 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
15918 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15919 public TerminalNode BUCKET_COUNT() { return getToken(SQLServerStatementParser.BUCKET_COUNT, 0); }
15920 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
15921 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
15922 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15923 public WithBucketContext(ParserRuleContext parent, int invokingState) {
15924 super(parent, invokingState);
15925 }
15926 @Override public int getRuleIndex() { return RULE_withBucket; }
15927 @Override
15928 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15929 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithBucket(this);
15930 else return visitor.visitChildren(this);
15931 }
15932 }
15933
15934 public final WithBucketContext withBucket() throws RecognitionException {
15935 WithBucketContext _localctx = new WithBucketContext(_ctx, getState());
15936 enterRule(_localctx, 334, RULE_withBucket);
15937 try {
15938 enterOuterAlt(_localctx, 1);
15939 {
15940 setState(2399);
15941 match(WITH);
15942 setState(2400);
15943 match(LP_);
15944 setState(2401);
15945 match(BUCKET_COUNT);
15946 setState(2402);
15947 match(EQ_);
15948 setState(2403);
15949 match(NUMBER_);
15950 setState(2404);
15951 match(RP_);
15952 }
15953 }
15954 catch (RecognitionException re) {
15955 _localctx.exception = re;
15956 _errHandler.reportError(this, re);
15957 _errHandler.recover(this, re);
15958 }
15959 finally {
15960 exitRule();
15961 }
15962 return _localctx;
15963 }
15964
15965 public static class ColumnForeignKeyConstraintContext extends ParserRuleContext {
15966 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
15967 public TableNameContext tableName() {
15968 return getRuleContext(TableNameContext.class,0);
15969 }
15970 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
15971 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
15972 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
15973 public ColumnNameContext columnName() {
15974 return getRuleContext(ColumnNameContext.class,0);
15975 }
15976 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
15977 public List<ForeignKeyOnActionContext> foreignKeyOnAction() {
15978 return getRuleContexts(ForeignKeyOnActionContext.class);
15979 }
15980 public ForeignKeyOnActionContext foreignKeyOnAction(int i) {
15981 return getRuleContext(ForeignKeyOnActionContext.class,i);
15982 }
15983 public ColumnForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
15984 super(parent, invokingState);
15985 }
15986 @Override public int getRuleIndex() { return RULE_columnForeignKeyConstraint; }
15987 @Override
15988 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
15989 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnForeignKeyConstraint(this);
15990 else return visitor.visitChildren(this);
15991 }
15992 }
15993
15994 public final ColumnForeignKeyConstraintContext columnForeignKeyConstraint() throws RecognitionException {
15995 ColumnForeignKeyConstraintContext _localctx = new ColumnForeignKeyConstraintContext(_ctx, getState());
15996 enterRule(_localctx, 336, RULE_columnForeignKeyConstraint);
15997 int _la;
15998 try {
15999 int _alt;
16000 enterOuterAlt(_localctx, 1);
16001 {
16002 setState(2408);
16003 _errHandler.sync(this);
16004 _la = _input.LA(1);
16005 if (_la==FOREIGN) {
16006 {
16007 setState(2406);
16008 match(FOREIGN);
16009 setState(2407);
16010 match(KEY);
16011 }
16012 }
16013
16014 setState(2410);
16015 match(REFERENCES);
16016 setState(2411);
16017 tableName();
16018 setState(2416);
16019 _errHandler.sync(this);
16020 switch ( getInterpreter().adaptivePredict(_input,176,_ctx) ) {
16021 case 1:
16022 {
16023 setState(2412);
16024 match(LP_);
16025 setState(2413);
16026 columnName();
16027 setState(2414);
16028 match(RP_);
16029 }
16030 break;
16031 }
16032 setState(2421);
16033 _errHandler.sync(this);
16034 _alt = getInterpreter().adaptivePredict(_input,177,_ctx);
16035 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
16036 if ( _alt==1 ) {
16037 {
16038 {
16039 setState(2418);
16040 foreignKeyOnAction();
16041 }
16042 }
16043 }
16044 setState(2423);
16045 _errHandler.sync(this);
16046 _alt = getInterpreter().adaptivePredict(_input,177,_ctx);
16047 }
16048 }
16049 }
16050 catch (RecognitionException re) {
16051 _localctx.exception = re;
16052 _errHandler.reportError(this, re);
16053 _errHandler.recover(this, re);
16054 }
16055 finally {
16056 exitRule();
16057 }
16058 return _localctx;
16059 }
16060
16061 public static class ForeignKeyOnActionContext extends ParserRuleContext {
16062 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
16063 public ForeignKeyOnContext foreignKeyOn() {
16064 return getRuleContext(ForeignKeyOnContext.class,0);
16065 }
16066 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
16067 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
16068 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
16069 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
16070 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
16071 public ForeignKeyOnActionContext(ParserRuleContext parent, int invokingState) {
16072 super(parent, invokingState);
16073 }
16074 @Override public int getRuleIndex() { return RULE_foreignKeyOnAction; }
16075 @Override
16076 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16077 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForeignKeyOnAction(this);
16078 else return visitor.visitChildren(this);
16079 }
16080 }
16081
16082 public final ForeignKeyOnActionContext foreignKeyOnAction() throws RecognitionException {
16083 ForeignKeyOnActionContext _localctx = new ForeignKeyOnActionContext(_ctx, getState());
16084 enterRule(_localctx, 338, RULE_foreignKeyOnAction);
16085 int _la;
16086 try {
16087 setState(2430);
16088 _errHandler.sync(this);
16089 switch (_input.LA(1)) {
16090 case ON:
16091 enterOuterAlt(_localctx, 1);
16092 {
16093 setState(2424);
16094 match(ON);
16095 setState(2425);
16096 _la = _input.LA(1);
16097 if ( !(_la==UPDATE || _la==DELETE) ) {
16098 _errHandler.recoverInline(this);
16099 }
16100 else {
16101 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16102 _errHandler.reportMatch(this);
16103 consume();
16104 }
16105 setState(2426);
16106 foreignKeyOn();
16107 }
16108 break;
16109 case NOT:
16110 enterOuterAlt(_localctx, 2);
16111 {
16112 setState(2427);
16113 match(NOT);
16114 setState(2428);
16115 match(FOR);
16116 setState(2429);
16117 match(REPLICATION);
16118 }
16119 break;
16120 default:
16121 throw new NoViableAltException(this);
16122 }
16123 }
16124 catch (RecognitionException re) {
16125 _localctx.exception = re;
16126 _errHandler.reportError(this, re);
16127 _errHandler.recover(this, re);
16128 }
16129 finally {
16130 exitRule();
16131 }
16132 return _localctx;
16133 }
16134
16135 public static class ForeignKeyOnContext extends ParserRuleContext {
16136 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
16137 public TerminalNode ACTION() { return getToken(SQLServerStatementParser.ACTION, 0); }
16138 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
16139 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
16140 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
16141 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
16142 public ForeignKeyOnContext(ParserRuleContext parent, int invokingState) {
16143 super(parent, invokingState);
16144 }
16145 @Override public int getRuleIndex() { return RULE_foreignKeyOn; }
16146 @Override
16147 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16148 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForeignKeyOn(this);
16149 else return visitor.visitChildren(this);
16150 }
16151 }
16152
16153 public final ForeignKeyOnContext foreignKeyOn() throws RecognitionException {
16154 ForeignKeyOnContext _localctx = new ForeignKeyOnContext(_ctx, getState());
16155 enterRule(_localctx, 340, RULE_foreignKeyOn);
16156 int _la;
16157 try {
16158 setState(2437);
16159 _errHandler.sync(this);
16160 switch (_input.LA(1)) {
16161 case NO:
16162 enterOuterAlt(_localctx, 1);
16163 {
16164 setState(2432);
16165 match(NO);
16166 setState(2433);
16167 match(ACTION);
16168 }
16169 break;
16170 case CASCADE:
16171 enterOuterAlt(_localctx, 2);
16172 {
16173 setState(2434);
16174 match(CASCADE);
16175 }
16176 break;
16177 case SET:
16178 enterOuterAlt(_localctx, 3);
16179 {
16180 setState(2435);
16181 match(SET);
16182 setState(2436);
16183 _la = _input.LA(1);
16184 if ( !(_la==NULL || _la==DEFAULT) ) {
16185 _errHandler.recoverInline(this);
16186 }
16187 else {
16188 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
16189 _errHandler.reportMatch(this);
16190 consume();
16191 }
16192 }
16193 break;
16194 default:
16195 throw new NoViableAltException(this);
16196 }
16197 }
16198 catch (RecognitionException re) {
16199 _localctx.exception = re;
16200 _errHandler.reportError(this, re);
16201 _errHandler.recover(this, re);
16202 }
16203 finally {
16204 exitRule();
16205 }
16206 return _localctx;
16207 }
16208
16209 public static class CheckConstraintContext extends ParserRuleContext {
16210 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
16211 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16212 public ExprContext expr() {
16213 return getRuleContext(ExprContext.class,0);
16214 }
16215 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16216 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
16217 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
16218 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
16219 public CheckConstraintContext(ParserRuleContext parent, int invokingState) {
16220 super(parent, invokingState);
16221 }
16222 @Override public int getRuleIndex() { return RULE_checkConstraint; }
16223 @Override
16224 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16225 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCheckConstraint(this);
16226 else return visitor.visitChildren(this);
16227 }
16228 }
16229
16230 public final CheckConstraintContext checkConstraint() throws RecognitionException {
16231 CheckConstraintContext _localctx = new CheckConstraintContext(_ctx, getState());
16232 enterRule(_localctx, 342, RULE_checkConstraint);
16233 int _la;
16234 try {
16235 enterOuterAlt(_localctx, 1);
16236 {
16237 setState(2439);
16238 match(CHECK);
16239 setState(2443);
16240 _errHandler.sync(this);
16241 _la = _input.LA(1);
16242 if (_la==NOT) {
16243 {
16244 setState(2440);
16245 match(NOT);
16246 setState(2441);
16247 match(FOR);
16248 setState(2442);
16249 match(REPLICATION);
16250 }
16251 }
16252
16253 setState(2445);
16254 match(LP_);
16255 setState(2446);
16256 expr(0);
16257 setState(2447);
16258 match(RP_);
16259 }
16260 }
16261 catch (RecognitionException re) {
16262 _localctx.exception = re;
16263 _errHandler.reportError(this, re);
16264 _errHandler.recover(this, re);
16265 }
16266 finally {
16267 exitRule();
16268 }
16269 return _localctx;
16270 }
16271
16272 public static class ColumnIndexContext extends ParserRuleContext {
16273 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
16274 public IndexNameContext indexName() {
16275 return getRuleContext(IndexNameContext.class,0);
16276 }
16277 public ClusterOptionContext clusterOption() {
16278 return getRuleContext(ClusterOptionContext.class,0);
16279 }
16280 public WithIndexOptionContext withIndexOption() {
16281 return getRuleContext(WithIndexOptionContext.class,0);
16282 }
16283 public IndexOnClauseContext indexOnClause() {
16284 return getRuleContext(IndexOnClauseContext.class,0);
16285 }
16286 public FileStreamOnContext fileStreamOn() {
16287 return getRuleContext(FileStreamOnContext.class,0);
16288 }
16289 public ColumnIndexContext(ParserRuleContext parent, int invokingState) {
16290 super(parent, invokingState);
16291 }
16292 @Override public int getRuleIndex() { return RULE_columnIndex; }
16293 @Override
16294 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16295 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnIndex(this);
16296 else return visitor.visitChildren(this);
16297 }
16298 }
16299
16300 public final ColumnIndexContext columnIndex() throws RecognitionException {
16301 ColumnIndexContext _localctx = new ColumnIndexContext(_ctx, getState());
16302 enterRule(_localctx, 344, RULE_columnIndex);
16303 int _la;
16304 try {
16305 enterOuterAlt(_localctx, 1);
16306 {
16307 setState(2449);
16308 match(INDEX);
16309 setState(2450);
16310 indexName();
16311 setState(2452);
16312 _errHandler.sync(this);
16313 _la = _input.LA(1);
16314 if (_la==CLUSTERED || _la==NONCLUSTERED) {
16315 {
16316 setState(2451);
16317 clusterOption();
16318 }
16319 }
16320
16321 setState(2455);
16322 _errHandler.sync(this);
16323 switch ( getInterpreter().adaptivePredict(_input,182,_ctx) ) {
16324 case 1:
16325 {
16326 setState(2454);
16327 withIndexOption();
16328 }
16329 break;
16330 }
16331 setState(2458);
16332 _errHandler.sync(this);
16333 _la = _input.LA(1);
16334 if (_la==ON) {
16335 {
16336 setState(2457);
16337 indexOnClause();
16338 }
16339 }
16340
16341 setState(2461);
16342 _errHandler.sync(this);
16343 _la = _input.LA(1);
16344 if (_la==FILESTREAM_ON) {
16345 {
16346 setState(2460);
16347 fileStreamOn();
16348 }
16349 }
16350
16351 }
16352 }
16353 catch (RecognitionException re) {
16354 _localctx.exception = re;
16355 _errHandler.reportError(this, re);
16356 _errHandler.recover(this, re);
16357 }
16358 finally {
16359 exitRule();
16360 }
16361 return _localctx;
16362 }
16363
16364 public static class WithIndexOptionContext extends ParserRuleContext {
16365 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
16366 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
16367 public List<IndexOptionContext> indexOption() {
16368 return getRuleContexts(IndexOptionContext.class);
16369 }
16370 public IndexOptionContext indexOption(int i) {
16371 return getRuleContext(IndexOptionContext.class,i);
16372 }
16373 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
16374 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
16375 public TerminalNode COMMA_(int i) {
16376 return getToken(SQLServerStatementParser.COMMA_, i);
16377 }
16378 public WithIndexOptionContext(ParserRuleContext parent, int invokingState) {
16379 super(parent, invokingState);
16380 }
16381 @Override public int getRuleIndex() { return RULE_withIndexOption; }
16382 @Override
16383 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16384 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithIndexOption(this);
16385 else return visitor.visitChildren(this);
16386 }
16387 }
16388
16389 public final WithIndexOptionContext withIndexOption() throws RecognitionException {
16390 WithIndexOptionContext _localctx = new WithIndexOptionContext(_ctx, getState());
16391 enterRule(_localctx, 346, RULE_withIndexOption);
16392 int _la;
16393 try {
16394 enterOuterAlt(_localctx, 1);
16395 {
16396 setState(2463);
16397 match(WITH);
16398 setState(2464);
16399 match(LP_);
16400 setState(2465);
16401 indexOption();
16402 setState(2470);
16403 _errHandler.sync(this);
16404 _la = _input.LA(1);
16405 while (_la==COMMA_) {
16406 {
16407 {
16408 setState(2466);
16409 match(COMMA_);
16410 setState(2467);
16411 indexOption();
16412 }
16413 }
16414 setState(2472);
16415 _errHandler.sync(this);
16416 _la = _input.LA(1);
16417 }
16418 setState(2473);
16419 match(RP_);
16420 }
16421 }
16422 catch (RecognitionException re) {
16423 _localctx.exception = re;
16424 _errHandler.reportError(this, re);
16425 _errHandler.recover(this, re);
16426 }
16427 finally {
16428 exitRule();
16429 }
16430 return _localctx;
16431 }
16432
16433 public static class IndexOnClauseContext extends ParserRuleContext {
16434 public OnSchemaColumnContext onSchemaColumn() {
16435 return getRuleContext(OnSchemaColumnContext.class,0);
16436 }
16437 public OnFileGroupContext onFileGroup() {
16438 return getRuleContext(OnFileGroupContext.class,0);
16439 }
16440 public OnDefaultContext onDefault() {
16441 return getRuleContext(OnDefaultContext.class,0);
16442 }
16443 public IndexOnClauseContext(ParserRuleContext parent, int invokingState) {
16444 super(parent, invokingState);
16445 }
16446 @Override public int getRuleIndex() { return RULE_indexOnClause; }
16447 @Override
16448 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16449 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOnClause(this);
16450 else return visitor.visitChildren(this);
16451 }
16452 }
16453
16454 public final IndexOnClauseContext indexOnClause() throws RecognitionException {
16455 IndexOnClauseContext _localctx = new IndexOnClauseContext(_ctx, getState());
16456 enterRule(_localctx, 348, RULE_indexOnClause);
16457 try {
16458 setState(2478);
16459 _errHandler.sync(this);
16460 switch ( getInterpreter().adaptivePredict(_input,186,_ctx) ) {
16461 case 1:
16462 enterOuterAlt(_localctx, 1);
16463 {
16464 setState(2475);
16465 onSchemaColumn();
16466 }
16467 break;
16468 case 2:
16469 enterOuterAlt(_localctx, 2);
16470 {
16471 setState(2476);
16472 onFileGroup();
16473 }
16474 break;
16475 case 3:
16476 enterOuterAlt(_localctx, 3);
16477 {
16478 setState(2477);
16479 onDefault();
16480 }
16481 break;
16482 }
16483 }
16484 catch (RecognitionException re) {
16485 _localctx.exception = re;
16486 _errHandler.reportError(this, re);
16487 _errHandler.recover(this, re);
16488 }
16489 finally {
16490 exitRule();
16491 }
16492 return _localctx;
16493 }
16494
16495 public static class OnDefaultContext extends ParserRuleContext {
16496 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
16497 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
16498 public OnDefaultContext(ParserRuleContext parent, int invokingState) {
16499 super(parent, invokingState);
16500 }
16501 @Override public int getRuleIndex() { return RULE_onDefault; }
16502 @Override
16503 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16504 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnDefault(this);
16505 else return visitor.visitChildren(this);
16506 }
16507 }
16508
16509 public final OnDefaultContext onDefault() throws RecognitionException {
16510 OnDefaultContext _localctx = new OnDefaultContext(_ctx, getState());
16511 enterRule(_localctx, 350, RULE_onDefault);
16512 try {
16513 enterOuterAlt(_localctx, 1);
16514 {
16515 setState(2480);
16516 match(ON);
16517 setState(2481);
16518 match(DEFAULT);
16519 }
16520 }
16521 catch (RecognitionException re) {
16522 _localctx.exception = re;
16523 _errHandler.reportError(this, re);
16524 _errHandler.recover(this, re);
16525 }
16526 finally {
16527 exitRule();
16528 }
16529 return _localctx;
16530 }
16531
16532 public static class FileStreamOnContext extends ParserRuleContext {
16533 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
16534 public IgnoredIdentifierContext ignoredIdentifier() {
16535 return getRuleContext(IgnoredIdentifierContext.class,0);
16536 }
16537 public SchemaNameContext schemaName() {
16538 return getRuleContext(SchemaNameContext.class,0);
16539 }
16540 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
16541 public FileStreamOnContext(ParserRuleContext parent, int invokingState) {
16542 super(parent, invokingState);
16543 }
16544 @Override public int getRuleIndex() { return RULE_fileStreamOn; }
16545 @Override
16546 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16547 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileStreamOn(this);
16548 else return visitor.visitChildren(this);
16549 }
16550 }
16551
16552 public final FileStreamOnContext fileStreamOn() throws RecognitionException {
16553 FileStreamOnContext _localctx = new FileStreamOnContext(_ctx, getState());
16554 enterRule(_localctx, 352, RULE_fileStreamOn);
16555 try {
16556 enterOuterAlt(_localctx, 1);
16557 {
16558 setState(2483);
16559 match(FILESTREAM_ON);
16560 setState(2487);
16561 _errHandler.sync(this);
16562 switch ( getInterpreter().adaptivePredict(_input,187,_ctx) ) {
16563 case 1:
16564 {
16565 setState(2484);
16566 ignoredIdentifier();
16567 }
16568 break;
16569 case 2:
16570 {
16571 setState(2485);
16572 schemaName();
16573 }
16574 break;
16575 case 3:
16576 {
16577 setState(2486);
16578 match(STRING_);
16579 }
16580 break;
16581 }
16582 }
16583 }
16584 catch (RecognitionException re) {
16585 _localctx.exception = re;
16586 _errHandler.reportError(this, re);
16587 _errHandler.recover(this, re);
16588 }
16589 finally {
16590 exitRule();
16591 }
16592 return _localctx;
16593 }
16594
16595 public static class ColumnConstraintsContext extends ParserRuleContext {
16596 public List<ColumnConstraintContext> columnConstraint() {
16597 return getRuleContexts(ColumnConstraintContext.class);
16598 }
16599 public ColumnConstraintContext columnConstraint(int i) {
16600 return getRuleContext(ColumnConstraintContext.class,i);
16601 }
16602 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
16603 public TerminalNode COMMA_(int i) {
16604 return getToken(SQLServerStatementParser.COMMA_, i);
16605 }
16606 public ColumnConstraintsContext(ParserRuleContext parent, int invokingState) {
16607 super(parent, invokingState);
16608 }
16609 @Override public int getRuleIndex() { return RULE_columnConstraints; }
16610 @Override
16611 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16612 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnConstraints(this);
16613 else return visitor.visitChildren(this);
16614 }
16615 }
16616
16617 public final ColumnConstraintsContext columnConstraints() throws RecognitionException {
16618 ColumnConstraintsContext _localctx = new ColumnConstraintsContext(_ctx, getState());
16619 enterRule(_localctx, 354, RULE_columnConstraints);
16620 try {
16621 int _alt;
16622 enterOuterAlt(_localctx, 1);
16623 {
16624 setState(2497);
16625 _errHandler.sync(this);
16626 switch ( getInterpreter().adaptivePredict(_input,189,_ctx) ) {
16627 case 1:
16628 {
16629 setState(2489);
16630 columnConstraint();
16631 setState(2494);
16632 _errHandler.sync(this);
16633 _alt = getInterpreter().adaptivePredict(_input,188,_ctx);
16634 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
16635 if ( _alt==1 ) {
16636 {
16637 {
16638 setState(2490);
16639 match(COMMA_);
16640 setState(2491);
16641 columnConstraint();
16642 }
16643 }
16644 }
16645 setState(2496);
16646 _errHandler.sync(this);
16647 _alt = getInterpreter().adaptivePredict(_input,188,_ctx);
16648 }
16649 }
16650 break;
16651 }
16652 }
16653 }
16654 catch (RecognitionException re) {
16655 _localctx.exception = re;
16656 _errHandler.reportError(this, re);
16657 _errHandler.recover(this, re);
16658 }
16659 finally {
16660 exitRule();
16661 }
16662 return _localctx;
16663 }
16664
16665 public static class ComputedColumnDefinitionContext extends ParserRuleContext {
16666 public ColumnNameContext columnName() {
16667 return getRuleContext(ColumnNameContext.class,0);
16668 }
16669 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
16670 public ExprContext expr() {
16671 return getRuleContext(ExprContext.class,0);
16672 }
16673 public TerminalNode PERSISTED() { return getToken(SQLServerStatementParser.PERSISTED, 0); }
16674 public ComputedColumnConstraintContext computedColumnConstraint() {
16675 return getRuleContext(ComputedColumnConstraintContext.class,0);
16676 }
16677 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
16678 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
16679 public ComputedColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
16680 super(parent, invokingState);
16681 }
16682 @Override public int getRuleIndex() { return RULE_computedColumnDefinition; }
16683 @Override
16684 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16685 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitComputedColumnDefinition(this);
16686 else return visitor.visitChildren(this);
16687 }
16688 }
16689
16690 public final ComputedColumnDefinitionContext computedColumnDefinition() throws RecognitionException {
16691 ComputedColumnDefinitionContext _localctx = new ComputedColumnDefinitionContext(_ctx, getState());
16692 enterRule(_localctx, 356, RULE_computedColumnDefinition);
16693 int _la;
16694 try {
16695 enterOuterAlt(_localctx, 1);
16696 {
16697 setState(2499);
16698 columnName();
16699 setState(2500);
16700 match(AS);
16701 setState(2501);
16702 expr(0);
16703 setState(2507);
16704 _errHandler.sync(this);
16705 switch ( getInterpreter().adaptivePredict(_input,191,_ctx) ) {
16706 case 1:
16707 {
16708 setState(2502);
16709 match(PERSISTED);
16710 setState(2505);
16711 _errHandler.sync(this);
16712 _la = _input.LA(1);
16713 if (_la==NOT) {
16714 {
16715 setState(2503);
16716 match(NOT);
16717 setState(2504);
16718 match(NULL);
16719 }
16720 }
16721
16722 }
16723 break;
16724 }
16725 setState(2510);
16726 _errHandler.sync(this);
16727 switch ( getInterpreter().adaptivePredict(_input,192,_ctx) ) {
16728 case 1:
16729 {
16730 setState(2509);
16731 computedColumnConstraint();
16732 }
16733 break;
16734 }
16735 }
16736 }
16737 catch (RecognitionException re) {
16738 _localctx.exception = re;
16739 _errHandler.reportError(this, re);
16740 _errHandler.recover(this, re);
16741 }
16742 finally {
16743 exitRule();
16744 }
16745 return _localctx;
16746 }
16747
16748 public static class ColumnSetDefinitionContext extends ParserRuleContext {
16749 public IgnoredIdentifierContext ignoredIdentifier() {
16750 return getRuleContext(IgnoredIdentifierContext.class,0);
16751 }
16752 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
16753 public TerminalNode COLUMN_SET() { return getToken(SQLServerStatementParser.COLUMN_SET, 0); }
16754 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
16755 public TerminalNode ALL_SPARSE_COLUMNS() { return getToken(SQLServerStatementParser.ALL_SPARSE_COLUMNS, 0); }
16756 public ColumnSetDefinitionContext(ParserRuleContext parent, int invokingState) {
16757 super(parent, invokingState);
16758 }
16759 @Override public int getRuleIndex() { return RULE_columnSetDefinition; }
16760 @Override
16761 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16762 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitColumnSetDefinition(this);
16763 else return visitor.visitChildren(this);
16764 }
16765 }
16766
16767 public final ColumnSetDefinitionContext columnSetDefinition() throws RecognitionException {
16768 ColumnSetDefinitionContext _localctx = new ColumnSetDefinitionContext(_ctx, getState());
16769 enterRule(_localctx, 358, RULE_columnSetDefinition);
16770 try {
16771 enterOuterAlt(_localctx, 1);
16772 {
16773 setState(2512);
16774 ignoredIdentifier();
16775 setState(2513);
16776 match(IDENTIFIER_);
16777 setState(2514);
16778 match(COLUMN_SET);
16779 setState(2515);
16780 match(FOR);
16781 setState(2516);
16782 match(ALL_SPARSE_COLUMNS);
16783 }
16784 }
16785 catch (RecognitionException re) {
16786 _localctx.exception = re;
16787 _errHandler.reportError(this, re);
16788 _errHandler.recover(this, re);
16789 }
16790 finally {
16791 exitRule();
16792 }
16793 return _localctx;
16794 }
16795
16796 public static class TableConstraintContext extends ParserRuleContext {
16797 public TablePrimaryConstraintContext tablePrimaryConstraint() {
16798 return getRuleContext(TablePrimaryConstraintContext.class,0);
16799 }
16800 public TableForeignKeyConstraintContext tableForeignKeyConstraint() {
16801 return getRuleContext(TableForeignKeyConstraintContext.class,0);
16802 }
16803 public CheckConstraintContext checkConstraint() {
16804 return getRuleContext(CheckConstraintContext.class,0);
16805 }
16806 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
16807 public ConstraintNameContext constraintName() {
16808 return getRuleContext(ConstraintNameContext.class,0);
16809 }
16810 public TableConstraintContext(ParserRuleContext parent, int invokingState) {
16811 super(parent, invokingState);
16812 }
16813 @Override public int getRuleIndex() { return RULE_tableConstraint; }
16814 @Override
16815 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16816 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableConstraint(this);
16817 else return visitor.visitChildren(this);
16818 }
16819 }
16820
16821 public final TableConstraintContext tableConstraint() throws RecognitionException {
16822 TableConstraintContext _localctx = new TableConstraintContext(_ctx, getState());
16823 enterRule(_localctx, 360, RULE_tableConstraint);
16824 int _la;
16825 try {
16826 enterOuterAlt(_localctx, 1);
16827 {
16828 setState(2520);
16829 _errHandler.sync(this);
16830 _la = _input.LA(1);
16831 if (_la==CONSTRAINT) {
16832 {
16833 setState(2518);
16834 match(CONSTRAINT);
16835 setState(2519);
16836 constraintName();
16837 }
16838 }
16839
16840 setState(2525);
16841 _errHandler.sync(this);
16842 switch (_input.LA(1)) {
16843 case PRIMARY:
16844 case UNIQUE:
16845 case KEY:
16846 {
16847 setState(2522);
16848 tablePrimaryConstraint();
16849 }
16850 break;
16851 case LP_:
16852 case FOREIGN:
16853 {
16854 setState(2523);
16855 tableForeignKeyConstraint();
16856 }
16857 break;
16858 case CHECK:
16859 {
16860 setState(2524);
16861 checkConstraint();
16862 }
16863 break;
16864 default:
16865 throw new NoViableAltException(this);
16866 }
16867 }
16868 }
16869 catch (RecognitionException re) {
16870 _localctx.exception = re;
16871 _errHandler.reportError(this, re);
16872 _errHandler.recover(this, re);
16873 }
16874 finally {
16875 exitRule();
16876 }
16877 return _localctx;
16878 }
16879
16880 public static class TablePrimaryConstraintContext extends ParserRuleContext {
16881 public PrimaryKeyUniqueContext primaryKeyUnique() {
16882 return getRuleContext(PrimaryKeyUniqueContext.class,0);
16883 }
16884 public DiskTablePrimaryConstraintOptionContext diskTablePrimaryConstraintOption() {
16885 return getRuleContext(DiskTablePrimaryConstraintOptionContext.class,0);
16886 }
16887 public MemoryTablePrimaryConstraintOptionContext memoryTablePrimaryConstraintOption() {
16888 return getRuleContext(MemoryTablePrimaryConstraintOptionContext.class,0);
16889 }
16890 public TablePrimaryConstraintContext(ParserRuleContext parent, int invokingState) {
16891 super(parent, invokingState);
16892 }
16893 @Override public int getRuleIndex() { return RULE_tablePrimaryConstraint; }
16894 @Override
16895 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16896 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTablePrimaryConstraint(this);
16897 else return visitor.visitChildren(this);
16898 }
16899 }
16900
16901 public final TablePrimaryConstraintContext tablePrimaryConstraint() throws RecognitionException {
16902 TablePrimaryConstraintContext _localctx = new TablePrimaryConstraintContext(_ctx, getState());
16903 enterRule(_localctx, 362, RULE_tablePrimaryConstraint);
16904 try {
16905 enterOuterAlt(_localctx, 1);
16906 {
16907 setState(2527);
16908 primaryKeyUnique();
16909 setState(2530);
16910 _errHandler.sync(this);
16911 switch ( getInterpreter().adaptivePredict(_input,195,_ctx) ) {
16912 case 1:
16913 {
16914 setState(2528);
16915 diskTablePrimaryConstraintOption();
16916 }
16917 break;
16918 case 2:
16919 {
16920 setState(2529);
16921 memoryTablePrimaryConstraintOption();
16922 }
16923 break;
16924 }
16925 }
16926 }
16927 catch (RecognitionException re) {
16928 _localctx.exception = re;
16929 _errHandler.reportError(this, re);
16930 _errHandler.recover(this, re);
16931 }
16932 finally {
16933 exitRule();
16934 }
16935 return _localctx;
16936 }
16937
16938 public static class PrimaryKeyUniqueContext extends ParserRuleContext {
16939 public PrimaryKeyContext primaryKey() {
16940 return getRuleContext(PrimaryKeyContext.class,0);
16941 }
16942 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
16943 public PrimaryKeyUniqueContext(ParserRuleContext parent, int invokingState) {
16944 super(parent, invokingState);
16945 }
16946 @Override public int getRuleIndex() { return RULE_primaryKeyUnique; }
16947 @Override
16948 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
16949 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrimaryKeyUnique(this);
16950 else return visitor.visitChildren(this);
16951 }
16952 }
16953
16954 public final PrimaryKeyUniqueContext primaryKeyUnique() throws RecognitionException {
16955 PrimaryKeyUniqueContext _localctx = new PrimaryKeyUniqueContext(_ctx, getState());
16956 enterRule(_localctx, 364, RULE_primaryKeyUnique);
16957 try {
16958 setState(2534);
16959 _errHandler.sync(this);
16960 switch (_input.LA(1)) {
16961 case PRIMARY:
16962 case KEY:
16963 enterOuterAlt(_localctx, 1);
16964 {
16965 setState(2532);
16966 primaryKey();
16967 }
16968 break;
16969 case UNIQUE:
16970 enterOuterAlt(_localctx, 2);
16971 {
16972 setState(2533);
16973 match(UNIQUE);
16974 }
16975 break;
16976 default:
16977 throw new NoViableAltException(this);
16978 }
16979 }
16980 catch (RecognitionException re) {
16981 _localctx.exception = re;
16982 _errHandler.reportError(this, re);
16983 _errHandler.recover(this, re);
16984 }
16985 finally {
16986 exitRule();
16987 }
16988 return _localctx;
16989 }
16990
16991 public static class DiskTablePrimaryConstraintOptionContext extends ParserRuleContext {
16992 public ColumnNamesContext columnNames() {
16993 return getRuleContext(ColumnNamesContext.class,0);
16994 }
16995 public ClusterOptionContext clusterOption() {
16996 return getRuleContext(ClusterOptionContext.class,0);
16997 }
16998 public PrimaryKeyWithClauseContext primaryKeyWithClause() {
16999 return getRuleContext(PrimaryKeyWithClauseContext.class,0);
17000 }
17001 public PrimaryKeyOnClauseContext primaryKeyOnClause() {
17002 return getRuleContext(PrimaryKeyOnClauseContext.class,0);
17003 }
17004 public DiskTablePrimaryConstraintOptionContext(ParserRuleContext parent, int invokingState) {
17005 super(parent, invokingState);
17006 }
17007 @Override public int getRuleIndex() { return RULE_diskTablePrimaryConstraintOption; }
17008 @Override
17009 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17010 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDiskTablePrimaryConstraintOption(this);
17011 else return visitor.visitChildren(this);
17012 }
17013 }
17014
17015 public final DiskTablePrimaryConstraintOptionContext diskTablePrimaryConstraintOption() throws RecognitionException {
17016 DiskTablePrimaryConstraintOptionContext _localctx = new DiskTablePrimaryConstraintOptionContext(_ctx, getState());
17017 enterRule(_localctx, 366, RULE_diskTablePrimaryConstraintOption);
17018 int _la;
17019 try {
17020 enterOuterAlt(_localctx, 1);
17021 {
17022 setState(2537);
17023 _errHandler.sync(this);
17024 _la = _input.LA(1);
17025 if (_la==CLUSTERED || _la==NONCLUSTERED) {
17026 {
17027 setState(2536);
17028 clusterOption();
17029 }
17030 }
17031
17032 setState(2539);
17033 columnNames();
17034 setState(2541);
17035 _errHandler.sync(this);
17036 switch ( getInterpreter().adaptivePredict(_input,198,_ctx) ) {
17037 case 1:
17038 {
17039 setState(2540);
17040 primaryKeyWithClause();
17041 }
17042 break;
17043 }
17044 setState(2544);
17045 _errHandler.sync(this);
17046 _la = _input.LA(1);
17047 if (_la==ON) {
17048 {
17049 setState(2543);
17050 primaryKeyOnClause();
17051 }
17052 }
17053
17054 }
17055 }
17056 catch (RecognitionException re) {
17057 _localctx.exception = re;
17058 _errHandler.reportError(this, re);
17059 _errHandler.recover(this, re);
17060 }
17061 finally {
17062 exitRule();
17063 }
17064 return _localctx;
17065 }
17066
17067 public static class MemoryTablePrimaryConstraintOptionContext extends ParserRuleContext {
17068 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
17069 public ColumnNamesContext columnNames() {
17070 return getRuleContext(ColumnNamesContext.class,0);
17071 }
17072 public HashWithBucketContext hashWithBucket() {
17073 return getRuleContext(HashWithBucketContext.class,0);
17074 }
17075 public MemoryTablePrimaryConstraintOptionContext(ParserRuleContext parent, int invokingState) {
17076 super(parent, invokingState);
17077 }
17078 @Override public int getRuleIndex() { return RULE_memoryTablePrimaryConstraintOption; }
17079 @Override
17080 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17081 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMemoryTablePrimaryConstraintOption(this);
17082 else return visitor.visitChildren(this);
17083 }
17084 }
17085
17086 public final MemoryTablePrimaryConstraintOptionContext memoryTablePrimaryConstraintOption() throws RecognitionException {
17087 MemoryTablePrimaryConstraintOptionContext _localctx = new MemoryTablePrimaryConstraintOptionContext(_ctx, getState());
17088 enterRule(_localctx, 368, RULE_memoryTablePrimaryConstraintOption);
17089 try {
17090 enterOuterAlt(_localctx, 1);
17091 {
17092 setState(2546);
17093 match(NONCLUSTERED);
17094 setState(2549);
17095 _errHandler.sync(this);
17096 switch (_input.LA(1)) {
17097 case LP_:
17098 {
17099 setState(2547);
17100 columnNames();
17101 }
17102 break;
17103 case HASH:
17104 {
17105 setState(2548);
17106 hashWithBucket();
17107 }
17108 break;
17109 default:
17110 throw new NoViableAltException(this);
17111 }
17112 }
17113 }
17114 catch (RecognitionException re) {
17115 _localctx.exception = re;
17116 _errHandler.reportError(this, re);
17117 _errHandler.recover(this, re);
17118 }
17119 finally {
17120 exitRule();
17121 }
17122 return _localctx;
17123 }
17124
17125 public static class HashWithBucketContext extends ParserRuleContext {
17126 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
17127 public ColumnNamesContext columnNames() {
17128 return getRuleContext(ColumnNamesContext.class,0);
17129 }
17130 public WithBucketContext withBucket() {
17131 return getRuleContext(WithBucketContext.class,0);
17132 }
17133 public HashWithBucketContext(ParserRuleContext parent, int invokingState) {
17134 super(parent, invokingState);
17135 }
17136 @Override public int getRuleIndex() { return RULE_hashWithBucket; }
17137 @Override
17138 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17139 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHashWithBucket(this);
17140 else return visitor.visitChildren(this);
17141 }
17142 }
17143
17144 public final HashWithBucketContext hashWithBucket() throws RecognitionException {
17145 HashWithBucketContext _localctx = new HashWithBucketContext(_ctx, getState());
17146 enterRule(_localctx, 370, RULE_hashWithBucket);
17147 try {
17148 enterOuterAlt(_localctx, 1);
17149 {
17150 setState(2551);
17151 match(HASH);
17152 setState(2552);
17153 columnNames();
17154 setState(2553);
17155 withBucket();
17156 }
17157 }
17158 catch (RecognitionException re) {
17159 _localctx.exception = re;
17160 _errHandler.reportError(this, re);
17161 _errHandler.recover(this, re);
17162 }
17163 finally {
17164 exitRule();
17165 }
17166 return _localctx;
17167 }
17168
17169 public static class TableForeignKeyConstraintContext extends ParserRuleContext {
17170 public List<ColumnNamesContext> columnNames() {
17171 return getRuleContexts(ColumnNamesContext.class);
17172 }
17173 public ColumnNamesContext columnNames(int i) {
17174 return getRuleContext(ColumnNamesContext.class,i);
17175 }
17176 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
17177 public TableNameContext tableName() {
17178 return getRuleContext(TableNameContext.class,0);
17179 }
17180 public TerminalNode FOREIGN() { return getToken(SQLServerStatementParser.FOREIGN, 0); }
17181 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
17182 public List<ForeignKeyOnActionContext> foreignKeyOnAction() {
17183 return getRuleContexts(ForeignKeyOnActionContext.class);
17184 }
17185 public ForeignKeyOnActionContext foreignKeyOnAction(int i) {
17186 return getRuleContext(ForeignKeyOnActionContext.class,i);
17187 }
17188 public TableForeignKeyConstraintContext(ParserRuleContext parent, int invokingState) {
17189 super(parent, invokingState);
17190 }
17191 @Override public int getRuleIndex() { return RULE_tableForeignKeyConstraint; }
17192 @Override
17193 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17194 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableForeignKeyConstraint(this);
17195 else return visitor.visitChildren(this);
17196 }
17197 }
17198
17199 public final TableForeignKeyConstraintContext tableForeignKeyConstraint() throws RecognitionException {
17200 TableForeignKeyConstraintContext _localctx = new TableForeignKeyConstraintContext(_ctx, getState());
17201 enterRule(_localctx, 372, RULE_tableForeignKeyConstraint);
17202 int _la;
17203 try {
17204 enterOuterAlt(_localctx, 1);
17205 {
17206 setState(2557);
17207 _errHandler.sync(this);
17208 _la = _input.LA(1);
17209 if (_la==FOREIGN) {
17210 {
17211 setState(2555);
17212 match(FOREIGN);
17213 setState(2556);
17214 match(KEY);
17215 }
17216 }
17217
17218 setState(2559);
17219 columnNames();
17220 setState(2560);
17221 match(REFERENCES);
17222 setState(2561);
17223 tableName();
17224 setState(2562);
17225 columnNames();
17226 setState(2566);
17227 _errHandler.sync(this);
17228 _la = _input.LA(1);
17229 while (_la==ON || _la==NOT) {
17230 {
17231 {
17232 setState(2563);
17233 foreignKeyOnAction();
17234 }
17235 }
17236 setState(2568);
17237 _errHandler.sync(this);
17238 _la = _input.LA(1);
17239 }
17240 }
17241 }
17242 catch (RecognitionException re) {
17243 _localctx.exception = re;
17244 _errHandler.reportError(this, re);
17245 _errHandler.recover(this, re);
17246 }
17247 finally {
17248 exitRule();
17249 }
17250 return _localctx;
17251 }
17252
17253 public static class TableIndexContext extends ParserRuleContext {
17254 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
17255 public IndexNameContext indexName() {
17256 return getRuleContext(IndexNameContext.class,0);
17257 }
17258 public IndexNameOptionContext indexNameOption() {
17259 return getRuleContext(IndexNameOptionContext.class,0);
17260 }
17261 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
17262 public IndexOptionsContext indexOptions() {
17263 return getRuleContext(IndexOptionsContext.class,0);
17264 }
17265 public IndexOnClauseContext indexOnClause() {
17266 return getRuleContext(IndexOnClauseContext.class,0);
17267 }
17268 public FileStreamOnContext fileStreamOn() {
17269 return getRuleContext(FileStreamOnContext.class,0);
17270 }
17271 public TableIndexContext(ParserRuleContext parent, int invokingState) {
17272 super(parent, invokingState);
17273 }
17274 @Override public int getRuleIndex() { return RULE_tableIndex; }
17275 @Override
17276 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17277 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableIndex(this);
17278 else return visitor.visitChildren(this);
17279 }
17280 }
17281
17282 public final TableIndexContext tableIndex() throws RecognitionException {
17283 TableIndexContext _localctx = new TableIndexContext(_ctx, getState());
17284 enterRule(_localctx, 374, RULE_tableIndex);
17285 int _la;
17286 try {
17287 enterOuterAlt(_localctx, 1);
17288 {
17289 setState(2569);
17290 match(INDEX);
17291 setState(2570);
17292 indexName();
17293 setState(2571);
17294 indexNameOption();
17295 setState(2574);
17296 _errHandler.sync(this);
17297 _la = _input.LA(1);
17298 if (_la==WITH) {
17299 {
17300 setState(2572);
17301 match(WITH);
17302 setState(2573);
17303 indexOptions();
17304 }
17305 }
17306
17307 setState(2577);
17308 _errHandler.sync(this);
17309 _la = _input.LA(1);
17310 if (_la==ON) {
17311 {
17312 setState(2576);
17313 indexOnClause();
17314 }
17315 }
17316
17317 setState(2580);
17318 _errHandler.sync(this);
17319 _la = _input.LA(1);
17320 if (_la==FILESTREAM_ON) {
17321 {
17322 setState(2579);
17323 fileStreamOn();
17324 }
17325 }
17326
17327 }
17328 }
17329 catch (RecognitionException re) {
17330 _localctx.exception = re;
17331 _errHandler.reportError(this, re);
17332 _errHandler.recover(this, re);
17333 }
17334 finally {
17335 exitRule();
17336 }
17337 return _localctx;
17338 }
17339
17340 public static class IndexNameOptionContext extends ParserRuleContext {
17341 public ColumnNamesContext columnNames() {
17342 return getRuleContext(ColumnNamesContext.class,0);
17343 }
17344 public ClusterOptionContext clusterOption() {
17345 return getRuleContext(ClusterOptionContext.class,0);
17346 }
17347 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
17348 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
17349 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
17350 public IndexNameOptionContext(ParserRuleContext parent, int invokingState) {
17351 super(parent, invokingState);
17352 }
17353 @Override public int getRuleIndex() { return RULE_indexNameOption; }
17354 @Override
17355 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17356 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexNameOption(this);
17357 else return visitor.visitChildren(this);
17358 }
17359 }
17360
17361 public final IndexNameOptionContext indexNameOption() throws RecognitionException {
17362 IndexNameOptionContext _localctx = new IndexNameOptionContext(_ctx, getState());
17363 enterRule(_localctx, 376, RULE_indexNameOption);
17364 int _la;
17365 try {
17366 setState(2593);
17367 _errHandler.sync(this);
17368 switch ( getInterpreter().adaptivePredict(_input,208,_ctx) ) {
17369 case 1:
17370 enterOuterAlt(_localctx, 1);
17371 {
17372 setState(2583);
17373 _errHandler.sync(this);
17374 _la = _input.LA(1);
17375 if (_la==CLUSTERED || _la==NONCLUSTERED) {
17376 {
17377 setState(2582);
17378 clusterOption();
17379 }
17380 }
17381
17382 setState(2585);
17383 columnNames();
17384 }
17385 break;
17386 case 2:
17387 enterOuterAlt(_localctx, 2);
17388 {
17389 setState(2586);
17390 match(CLUSTERED);
17391 setState(2587);
17392 match(COLUMNSTORE);
17393 }
17394 break;
17395 case 3:
17396 enterOuterAlt(_localctx, 3);
17397 {
17398 setState(2589);
17399 _errHandler.sync(this);
17400 _la = _input.LA(1);
17401 if (_la==NONCLUSTERED) {
17402 {
17403 setState(2588);
17404 match(NONCLUSTERED);
17405 }
17406 }
17407
17408 setState(2591);
17409 match(COLUMNSTORE);
17410 setState(2592);
17411 columnNames();
17412 }
17413 break;
17414 }
17415 }
17416 catch (RecognitionException re) {
17417 _localctx.exception = re;
17418 _errHandler.reportError(this, re);
17419 _errHandler.recover(this, re);
17420 }
17421 finally {
17422 exitRule();
17423 }
17424 return _localctx;
17425 }
17426
17427 public static class IndexOptionsContext extends ParserRuleContext {
17428 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17429 public List<IndexOptionContext> indexOption() {
17430 return getRuleContexts(IndexOptionContext.class);
17431 }
17432 public IndexOptionContext indexOption(int i) {
17433 return getRuleContext(IndexOptionContext.class,i);
17434 }
17435 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17436 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
17437 public TerminalNode COMMA_(int i) {
17438 return getToken(SQLServerStatementParser.COMMA_, i);
17439 }
17440 public IndexOptionsContext(ParserRuleContext parent, int invokingState) {
17441 super(parent, invokingState);
17442 }
17443 @Override public int getRuleIndex() { return RULE_indexOptions; }
17444 @Override
17445 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17446 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexOptions(this);
17447 else return visitor.visitChildren(this);
17448 }
17449 }
17450
17451 public final IndexOptionsContext indexOptions() throws RecognitionException {
17452 IndexOptionsContext _localctx = new IndexOptionsContext(_ctx, getState());
17453 enterRule(_localctx, 378, RULE_indexOptions);
17454 int _la;
17455 try {
17456 enterOuterAlt(_localctx, 1);
17457 {
17458 setState(2595);
17459 match(LP_);
17460 setState(2596);
17461 indexOption();
17462 setState(2601);
17463 _errHandler.sync(this);
17464 _la = _input.LA(1);
17465 while (_la==COMMA_) {
17466 {
17467 {
17468 setState(2597);
17469 match(COMMA_);
17470 setState(2598);
17471 indexOption();
17472 }
17473 }
17474 setState(2603);
17475 _errHandler.sync(this);
17476 _la = _input.LA(1);
17477 }
17478 setState(2604);
17479 match(RP_);
17480 }
17481 }
17482 catch (RecognitionException re) {
17483 _localctx.exception = re;
17484 _errHandler.reportError(this, re);
17485 _errHandler.recover(this, re);
17486 }
17487 finally {
17488 exitRule();
17489 }
17490 return _localctx;
17491 }
17492
17493 public static class PeriodClauseContext extends ParserRuleContext {
17494 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
17495 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
17496 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
17497 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17498 public List<ColumnNameContext> columnName() {
17499 return getRuleContexts(ColumnNameContext.class);
17500 }
17501 public ColumnNameContext columnName(int i) {
17502 return getRuleContext(ColumnNameContext.class,i);
17503 }
17504 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
17505 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17506 public PeriodClauseContext(ParserRuleContext parent, int invokingState) {
17507 super(parent, invokingState);
17508 }
17509 @Override public int getRuleIndex() { return RULE_periodClause; }
17510 @Override
17511 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17512 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPeriodClause(this);
17513 else return visitor.visitChildren(this);
17514 }
17515 }
17516
17517 public final PeriodClauseContext periodClause() throws RecognitionException {
17518 PeriodClauseContext _localctx = new PeriodClauseContext(_ctx, getState());
17519 enterRule(_localctx, 380, RULE_periodClause);
17520 try {
17521 enterOuterAlt(_localctx, 1);
17522 {
17523 setState(2606);
17524 match(PERIOD);
17525 setState(2607);
17526 match(FOR);
17527 setState(2608);
17528 match(SYSTEM_TIME);
17529 setState(2609);
17530 match(LP_);
17531 setState(2610);
17532 columnName();
17533 setState(2611);
17534 match(COMMA_);
17535 setState(2612);
17536 columnName();
17537 setState(2613);
17538 match(RP_);
17539 }
17540 }
17541 catch (RecognitionException re) {
17542 _localctx.exception = re;
17543 _errHandler.reportError(this, re);
17544 _errHandler.recover(this, re);
17545 }
17546 finally {
17547 exitRule();
17548 }
17549 return _localctx;
17550 }
17551
17552 public static class PartitionSchemeContext extends ParserRuleContext {
17553 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17554 public SchemaNameContext schemaName() {
17555 return getRuleContext(SchemaNameContext.class,0);
17556 }
17557 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17558 public ColumnNameContext columnName() {
17559 return getRuleContext(ColumnNameContext.class,0);
17560 }
17561 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17562 public IgnoredIdentifierContext ignoredIdentifier() {
17563 return getRuleContext(IgnoredIdentifierContext.class,0);
17564 }
17565 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
17566 public PartitionSchemeContext(ParserRuleContext parent, int invokingState) {
17567 super(parent, invokingState);
17568 }
17569 @Override public int getRuleIndex() { return RULE_partitionScheme; }
17570 @Override
17571 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17572 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionScheme(this);
17573 else return visitor.visitChildren(this);
17574 }
17575 }
17576
17577 public final PartitionSchemeContext partitionScheme() throws RecognitionException {
17578 PartitionSchemeContext _localctx = new PartitionSchemeContext(_ctx, getState());
17579 enterRule(_localctx, 382, RULE_partitionScheme);
17580 int _la;
17581 try {
17582 enterOuterAlt(_localctx, 1);
17583 {
17584 setState(2625);
17585 _errHandler.sync(this);
17586 _la = _input.LA(1);
17587 if (_la==ON) {
17588 {
17589 setState(2615);
17590 match(ON);
17591 setState(2623);
17592 _errHandler.sync(this);
17593 switch ( getInterpreter().adaptivePredict(_input,210,_ctx) ) {
17594 case 1:
17595 {
17596 setState(2616);
17597 schemaName();
17598 setState(2617);
17599 match(LP_);
17600 setState(2618);
17601 columnName();
17602 setState(2619);
17603 match(RP_);
17604 }
17605 break;
17606 case 2:
17607 {
17608 setState(2621);
17609 ignoredIdentifier();
17610 }
17611 break;
17612 case 3:
17613 {
17614 setState(2622);
17615 match(STRING_);
17616 }
17617 break;
17618 }
17619 }
17620 }
17621
17622 }
17623 }
17624 catch (RecognitionException re) {
17625 _localctx.exception = re;
17626 _errHandler.reportError(this, re);
17627 _errHandler.recover(this, re);
17628 }
17629 finally {
17630 exitRule();
17631 }
17632 return _localctx;
17633 }
17634
17635 public static class FileGroupContext extends ParserRuleContext {
17636 public TerminalNode TEXTIMAGE_ON() { return getToken(SQLServerStatementParser.TEXTIMAGE_ON, 0); }
17637 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
17638 public TableOptionsContext tableOptions() {
17639 return getRuleContext(TableOptionsContext.class,0);
17640 }
17641 public List<IgnoredIdentifierContext> ignoredIdentifier() {
17642 return getRuleContexts(IgnoredIdentifierContext.class);
17643 }
17644 public IgnoredIdentifierContext ignoredIdentifier(int i) {
17645 return getRuleContext(IgnoredIdentifierContext.class,i);
17646 }
17647 public List<TerminalNode> STRING_() { return getTokens(SQLServerStatementParser.STRING_); }
17648 public TerminalNode STRING_(int i) {
17649 return getToken(SQLServerStatementParser.STRING_, i);
17650 }
17651 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
17652 public SchemaNameContext schemaName() {
17653 return getRuleContext(SchemaNameContext.class,0);
17654 }
17655 public FileGroupContext(ParserRuleContext parent, int invokingState) {
17656 super(parent, invokingState);
17657 }
17658 @Override public int getRuleIndex() { return RULE_fileGroup; }
17659 @Override
17660 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17661 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileGroup(this);
17662 else return visitor.visitChildren(this);
17663 }
17664 }
17665
17666 public final FileGroupContext fileGroup() throws RecognitionException {
17667 FileGroupContext _localctx = new FileGroupContext(_ctx, getState());
17668 enterRule(_localctx, 384, RULE_fileGroup);
17669 int _la;
17670 try {
17671 enterOuterAlt(_localctx, 1);
17672 {
17673 setState(2632);
17674 _errHandler.sync(this);
17675 _la = _input.LA(1);
17676 if (_la==TEXTIMAGE_ON) {
17677 {
17678 setState(2627);
17679 match(TEXTIMAGE_ON);
17680 setState(2630);
17681 _errHandler.sync(this);
17682 switch (_input.LA(1)) {
17683 case IDENTIFIER_:
17684 {
17685 setState(2628);
17686 ignoredIdentifier();
17687 }
17688 break;
17689 case STRING_:
17690 {
17691 setState(2629);
17692 match(STRING_);
17693 }
17694 break;
17695 default:
17696 throw new NoViableAltException(this);
17697 }
17698 }
17699 }
17700
17701 setState(2641);
17702 _errHandler.sync(this);
17703 _la = _input.LA(1);
17704 if (_la==FILESTREAM_ON || _la==IDENTIFIER_) {
17705 {
17706 setState(2639);
17707 _errHandler.sync(this);
17708 switch (_input.LA(1)) {
17709 case FILESTREAM_ON:
17710 {
17711 setState(2634);
17712 match(FILESTREAM_ON);
17713 {
17714 setState(2635);
17715 schemaName();
17716 }
17717 }
17718 break;
17719 case IDENTIFIER_:
17720 {
17721 setState(2636);
17722 ignoredIdentifier();
17723 setState(2637);
17724 match(STRING_);
17725 }
17726 break;
17727 default:
17728 throw new NoViableAltException(this);
17729 }
17730 }
17731 }
17732
17733 setState(2645);
17734 _errHandler.sync(this);
17735 switch ( getInterpreter().adaptivePredict(_input,216,_ctx) ) {
17736 case 1:
17737 {
17738 setState(2643);
17739 match(WITH);
17740 setState(2644);
17741 tableOptions();
17742 }
17743 break;
17744 }
17745 }
17746 }
17747 catch (RecognitionException re) {
17748 _localctx.exception = re;
17749 _errHandler.reportError(this, re);
17750 _errHandler.recover(this, re);
17751 }
17752 finally {
17753 exitRule();
17754 }
17755 return _localctx;
17756 }
17757
17758 public static class TableOptionsContext extends ParserRuleContext {
17759 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17760 public List<TableOptionContext> tableOption() {
17761 return getRuleContexts(TableOptionContext.class);
17762 }
17763 public TableOptionContext tableOption(int i) {
17764 return getRuleContext(TableOptionContext.class,i);
17765 }
17766 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17767 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
17768 public TerminalNode COMMA_(int i) {
17769 return getToken(SQLServerStatementParser.COMMA_, i);
17770 }
17771 public TableOptionsContext(ParserRuleContext parent, int invokingState) {
17772 super(parent, invokingState);
17773 }
17774 @Override public int getRuleIndex() { return RULE_tableOptions; }
17775 @Override
17776 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17777 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOptions(this);
17778 else return visitor.visitChildren(this);
17779 }
17780 }
17781
17782 public final TableOptionsContext tableOptions() throws RecognitionException {
17783 TableOptionsContext _localctx = new TableOptionsContext(_ctx, getState());
17784 enterRule(_localctx, 386, RULE_tableOptions);
17785 int _la;
17786 try {
17787 enterOuterAlt(_localctx, 1);
17788 {
17789 setState(2647);
17790 match(LP_);
17791 setState(2648);
17792 tableOption();
17793 setState(2653);
17794 _errHandler.sync(this);
17795 _la = _input.LA(1);
17796 while (_la==COMMA_) {
17797 {
17798 {
17799 setState(2649);
17800 match(COMMA_);
17801 setState(2650);
17802 tableOption();
17803 }
17804 }
17805 setState(2655);
17806 _errHandler.sync(this);
17807 _la = _input.LA(1);
17808 }
17809 setState(2656);
17810 match(RP_);
17811 }
17812 }
17813 catch (RecognitionException re) {
17814 _localctx.exception = re;
17815 _errHandler.reportError(this, re);
17816 _errHandler.recover(this, re);
17817 }
17818 finally {
17819 exitRule();
17820 }
17821 return _localctx;
17822 }
17823
17824 public static class TableOptionContext extends ParserRuleContext {
17825 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
17826 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
17827 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
17828 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
17829 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
17830 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
17831 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
17832 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
17833 public PartitionExpressionsContext partitionExpressions() {
17834 return getRuleContext(PartitionExpressionsContext.class,0);
17835 }
17836 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
17837 public TerminalNode FILETABLE_DIRECTORY() { return getToken(SQLServerStatementParser.FILETABLE_DIRECTORY, 0); }
17838 public IgnoredIdentifierContext ignoredIdentifier() {
17839 return getRuleContext(IgnoredIdentifierContext.class,0);
17840 }
17841 public TerminalNode FILETABLE_COLLATE_FILENAME() { return getToken(SQLServerStatementParser.FILETABLE_COLLATE_FILENAME, 0); }
17842 public CollationNameContext collationName() {
17843 return getRuleContext(CollationNameContext.class,0);
17844 }
17845 public TerminalNode DATABASE_DEAULT() { return getToken(SQLServerStatementParser.DATABASE_DEAULT, 0); }
17846 public TerminalNode FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME, 0); }
17847 public TerminalNode FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME, 0); }
17848 public TerminalNode FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME() { return getToken(SQLServerStatementParser.FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME, 0); }
17849 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
17850 public OnHistoryTableClauseContext onHistoryTableClause() {
17851 return getRuleContext(OnHistoryTableClauseContext.class,0);
17852 }
17853 public TerminalNode REMOTE_DATA_ARCHIVE() { return getToken(SQLServerStatementParser.REMOTE_DATA_ARCHIVE, 0); }
17854 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
17855 public MigrationState_Context migrationState_() {
17856 return getRuleContext(MigrationState_Context.class,0);
17857 }
17858 public TableStretchOptionsContext tableStretchOptions() {
17859 return getRuleContext(TableStretchOptionsContext.class,0);
17860 }
17861 public TableOperationOptionContext tableOperationOption() {
17862 return getRuleContext(TableOperationOptionContext.class,0);
17863 }
17864 public DistributionOptionContext distributionOption() {
17865 return getRuleContext(DistributionOptionContext.class,0);
17866 }
17867 public DataWareHouseTableOptionContext dataWareHouseTableOption() {
17868 return getRuleContext(DataWareHouseTableOptionContext.class,0);
17869 }
17870 public DataDelectionOptionContext dataDelectionOption() {
17871 return getRuleContext(DataDelectionOptionContext.class,0);
17872 }
17873 public DataWareHousePartitionOptionContext dataWareHousePartitionOption() {
17874 return getRuleContext(DataWareHousePartitionOptionContext.class,0);
17875 }
17876 public TableOptionContext(ParserRuleContext parent, int invokingState) {
17877 super(parent, invokingState);
17878 }
17879 @Override public int getRuleIndex() { return RULE_tableOption; }
17880 @Override
17881 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
17882 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOption(this);
17883 else return visitor.visitChildren(this);
17884 }
17885 }
17886
17887 public final TableOptionContext tableOption() throws RecognitionException {
17888 TableOptionContext _localctx = new TableOptionContext(_ctx, getState());
17889 enterRule(_localctx, 388, RULE_tableOption);
17890 int _la;
17891 try {
17892 setState(2708);
17893 _errHandler.sync(this);
17894 switch ( getInterpreter().adaptivePredict(_input,223,_ctx) ) {
17895 case 1:
17896 enterOuterAlt(_localctx, 1);
17897 {
17898 setState(2658);
17899 match(DATA_COMPRESSION);
17900 setState(2659);
17901 match(EQ_);
17902 setState(2660);
17903 _la = _input.LA(1);
17904 if ( !(((((_la - 221)) & ~0x3f) == 0 && ((1L << (_la - 221)) & ((1L << (ROW - 221)) | (1L << (NONE - 221)) | (1L << (PAGE - 221)))) != 0)) ) {
17905 _errHandler.recoverInline(this);
17906 }
17907 else {
17908 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
17909 _errHandler.reportMatch(this);
17910 consume();
17911 }
17912 setState(2667);
17913 _errHandler.sync(this);
17914 _la = _input.LA(1);
17915 if (_la==ON) {
17916 {
17917 setState(2661);
17918 match(ON);
17919 setState(2662);
17920 match(PARTITIONS);
17921 setState(2663);
17922 match(LP_);
17923 setState(2664);
17924 partitionExpressions();
17925 setState(2665);
17926 match(RP_);
17927 }
17928 }
17929
17930 }
17931 break;
17932 case 2:
17933 enterOuterAlt(_localctx, 2);
17934 {
17935 setState(2669);
17936 match(FILETABLE_DIRECTORY);
17937 setState(2670);
17938 match(EQ_);
17939 setState(2671);
17940 ignoredIdentifier();
17941 }
17942 break;
17943 case 3:
17944 enterOuterAlt(_localctx, 3);
17945 {
17946 setState(2672);
17947 match(FILETABLE_COLLATE_FILENAME);
17948 setState(2673);
17949 match(EQ_);
17950 setState(2676);
17951 _errHandler.sync(this);
17952 switch (_input.LA(1)) {
17953 case IDENTIFIER_:
17954 case STRING_:
17955 {
17956 setState(2674);
17957 collationName();
17958 }
17959 break;
17960 case DATABASE_DEAULT:
17961 {
17962 setState(2675);
17963 match(DATABASE_DEAULT);
17964 }
17965 break;
17966 default:
17967 throw new NoViableAltException(this);
17968 }
17969 }
17970 break;
17971 case 4:
17972 enterOuterAlt(_localctx, 4);
17973 {
17974 setState(2678);
17975 match(FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME);
17976 setState(2679);
17977 match(EQ_);
17978 setState(2680);
17979 ignoredIdentifier();
17980 }
17981 break;
17982 case 5:
17983 enterOuterAlt(_localctx, 5);
17984 {
17985 setState(2681);
17986 match(FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME);
17987 setState(2682);
17988 match(EQ_);
17989 setState(2683);
17990 ignoredIdentifier();
17991 }
17992 break;
17993 case 6:
17994 enterOuterAlt(_localctx, 6);
17995 {
17996 setState(2684);
17997 match(FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME);
17998 setState(2685);
17999 match(EQ_);
18000 setState(2686);
18001 ignoredIdentifier();
18002 }
18003 break;
18004 case 7:
18005 enterOuterAlt(_localctx, 7);
18006 {
18007 setState(2687);
18008 match(SYSTEM_VERSIONING);
18009 setState(2688);
18010 match(EQ_);
18011 setState(2689);
18012 match(ON);
18013 setState(2691);
18014 _errHandler.sync(this);
18015 _la = _input.LA(1);
18016 if (_la==LP_) {
18017 {
18018 setState(2690);
18019 onHistoryTableClause();
18020 }
18021 }
18022
18023 }
18024 break;
18025 case 8:
18026 enterOuterAlt(_localctx, 8);
18027 {
18028 setState(2693);
18029 match(REMOTE_DATA_ARCHIVE);
18030 setState(2694);
18031 match(EQ_);
18032 setState(2701);
18033 _errHandler.sync(this);
18034 switch (_input.LA(1)) {
18035 case ON:
18036 {
18037 setState(2695);
18038 match(ON);
18039 setState(2697);
18040 _errHandler.sync(this);
18041 _la = _input.LA(1);
18042 if (_la==LP_) {
18043 {
18044 setState(2696);
18045 tableStretchOptions();
18046 }
18047 }
18048
18049 }
18050 break;
18051 case OFF:
18052 {
18053 setState(2699);
18054 match(OFF);
18055 setState(2700);
18056 migrationState_();
18057 }
18058 break;
18059 default:
18060 throw new NoViableAltException(this);
18061 }
18062 }
18063 break;
18064 case 9:
18065 enterOuterAlt(_localctx, 9);
18066 {
18067 setState(2703);
18068 tableOperationOption();
18069 }
18070 break;
18071 case 10:
18072 enterOuterAlt(_localctx, 10);
18073 {
18074 setState(2704);
18075 distributionOption();
18076 }
18077 break;
18078 case 11:
18079 enterOuterAlt(_localctx, 11);
18080 {
18081 setState(2705);
18082 dataWareHouseTableOption();
18083 }
18084 break;
18085 case 12:
18086 enterOuterAlt(_localctx, 12);
18087 {
18088 setState(2706);
18089 dataDelectionOption();
18090 }
18091 break;
18092 case 13:
18093 enterOuterAlt(_localctx, 13);
18094 {
18095 setState(2707);
18096 dataWareHousePartitionOption();
18097 }
18098 break;
18099 }
18100 }
18101 catch (RecognitionException re) {
18102 _localctx.exception = re;
18103 _errHandler.reportError(this, re);
18104 _errHandler.recover(this, re);
18105 }
18106 finally {
18107 exitRule();
18108 }
18109 return _localctx;
18110 }
18111
18112 public static class DataDelectionOptionContext extends ParserRuleContext {
18113 public TerminalNode DATA_DELETION() { return getToken(SQLServerStatementParser.DATA_DELETION, 0); }
18114 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
18115 public TerminalNode EQ_(int i) {
18116 return getToken(SQLServerStatementParser.EQ_, i);
18117 }
18118 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
18119 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18120 public TerminalNode FILTER_COLUMN() { return getToken(SQLServerStatementParser.FILTER_COLUMN, 0); }
18121 public ColumnNameContext columnName() {
18122 return getRuleContext(ColumnNameContext.class,0);
18123 }
18124 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
18125 public TerminalNode RETENTION_PERIOD() { return getToken(SQLServerStatementParser.RETENTION_PERIOD, 0); }
18126 public HistoryRetentionPeriodContext historyRetentionPeriod() {
18127 return getRuleContext(HistoryRetentionPeriodContext.class,0);
18128 }
18129 public DataDelectionOptionContext(ParserRuleContext parent, int invokingState) {
18130 super(parent, invokingState);
18131 }
18132 @Override public int getRuleIndex() { return RULE_dataDelectionOption; }
18133 @Override
18134 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18135 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataDelectionOption(this);
18136 else return visitor.visitChildren(this);
18137 }
18138 }
18139
18140 public final DataDelectionOptionContext dataDelectionOption() throws RecognitionException {
18141 DataDelectionOptionContext _localctx = new DataDelectionOptionContext(_ctx, getState());
18142 enterRule(_localctx, 390, RULE_dataDelectionOption);
18143 try {
18144 enterOuterAlt(_localctx, 1);
18145 {
18146 setState(2710);
18147 match(DATA_DELETION);
18148 setState(2711);
18149 match(EQ_);
18150 setState(2712);
18151 match(ON);
18152 {
18153 setState(2713);
18154 match(LP_);
18155 setState(2714);
18156 match(FILTER_COLUMN);
18157 setState(2715);
18158 match(EQ_);
18159 setState(2716);
18160 columnName();
18161 setState(2717);
18162 match(COMMA_);
18163 setState(2718);
18164 match(RETENTION_PERIOD);
18165 setState(2719);
18166 match(EQ_);
18167 setState(2720);
18168 historyRetentionPeriod();
18169 }
18170 }
18171 }
18172 catch (RecognitionException re) {
18173 _localctx.exception = re;
18174 _errHandler.reportError(this, re);
18175 _errHandler.recover(this, re);
18176 }
18177 finally {
18178 exitRule();
18179 }
18180 return _localctx;
18181 }
18182
18183 public static class TableStretchOptionsContext extends ParserRuleContext {
18184 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18185 public List<TableStretchOptionContext> tableStretchOption() {
18186 return getRuleContexts(TableStretchOptionContext.class);
18187 }
18188 public TableStretchOptionContext tableStretchOption(int i) {
18189 return getRuleContext(TableStretchOptionContext.class,i);
18190 }
18191 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18192 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
18193 public TerminalNode COMMA_(int i) {
18194 return getToken(SQLServerStatementParser.COMMA_, i);
18195 }
18196 public TableStretchOptionsContext(ParserRuleContext parent, int invokingState) {
18197 super(parent, invokingState);
18198 }
18199 @Override public int getRuleIndex() { return RULE_tableStretchOptions; }
18200 @Override
18201 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18202 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableStretchOptions(this);
18203 else return visitor.visitChildren(this);
18204 }
18205 }
18206
18207 public final TableStretchOptionsContext tableStretchOptions() throws RecognitionException {
18208 TableStretchOptionsContext _localctx = new TableStretchOptionsContext(_ctx, getState());
18209 enterRule(_localctx, 392, RULE_tableStretchOptions);
18210 int _la;
18211 try {
18212 enterOuterAlt(_localctx, 1);
18213 {
18214 setState(2722);
18215 match(LP_);
18216 setState(2723);
18217 tableStretchOption();
18218 setState(2728);
18219 _errHandler.sync(this);
18220 _la = _input.LA(1);
18221 while (_la==COMMA_) {
18222 {
18223 {
18224 setState(2724);
18225 match(COMMA_);
18226 setState(2725);
18227 tableStretchOption();
18228 }
18229 }
18230 setState(2730);
18231 _errHandler.sync(this);
18232 _la = _input.LA(1);
18233 }
18234 setState(2731);
18235 match(RP_);
18236 }
18237 }
18238 catch (RecognitionException re) {
18239 _localctx.exception = re;
18240 _errHandler.reportError(this, re);
18241 _errHandler.recover(this, re);
18242 }
18243 finally {
18244 exitRule();
18245 }
18246 return _localctx;
18247 }
18248
18249 public static class TableStretchOptionContext extends ParserRuleContext {
18250 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
18251 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
18252 public TerminalNode EQ_(int i) {
18253 return getToken(SQLServerStatementParser.EQ_, i);
18254 }
18255 public TerminalNode OUTBOUND() { return getToken(SQLServerStatementParser.OUTBOUND, 0); }
18256 public TerminalNode INBOUND() { return getToken(SQLServerStatementParser.INBOUND, 0); }
18257 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
18258 public TerminalNode FILTER_PREDICATE() { return getToken(SQLServerStatementParser.FILTER_PREDICATE, 0); }
18259 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
18260 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
18261 public FunctionCallContext functionCall() {
18262 return getRuleContext(FunctionCallContext.class,0);
18263 }
18264 public TableStretchOptionContext(ParserRuleContext parent, int invokingState) {
18265 super(parent, invokingState);
18266 }
18267 @Override public int getRuleIndex() { return RULE_tableStretchOption; }
18268 @Override
18269 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18270 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableStretchOption(this);
18271 else return visitor.visitChildren(this);
18272 }
18273 }
18274
18275 public final TableStretchOptionContext tableStretchOption() throws RecognitionException {
18276 TableStretchOptionContext _localctx = new TableStretchOptionContext(_ctx, getState());
18277 enterRule(_localctx, 394, RULE_tableStretchOption);
18278 int _la;
18279 try {
18280 enterOuterAlt(_localctx, 1);
18281 {
18282 setState(2740);
18283 _errHandler.sync(this);
18284 _la = _input.LA(1);
18285 if (_la==FILTER_PREDICATE) {
18286 {
18287 setState(2733);
18288 match(FILTER_PREDICATE);
18289 setState(2734);
18290 match(EQ_);
18291 setState(2737);
18292 _errHandler.sync(this);
18293 switch (_input.LA(1)) {
18294 case NULL:
18295 {
18296 setState(2735);
18297 match(NULL);
18298 }
18299 break;
18300 case TRUNCATE:
18301 case SCHEMA:
18302 case FUNCTION:
18303 case TRIGGER:
18304 case CAST:
18305 case IF:
18306 case GROUP:
18307 case LIMIT:
18308 case OFFSET:
18309 case SAVEPOINT:
18310 case BOOLEAN:
18311 case CHAR:
18312 case ARRAY:
18313 case INTERVAL:
18314 case DATE:
18315 case LOCALTIME:
18316 case LOCALTIMESTAMP:
18317 case QUARTER:
18318 case WEEK:
18319 case DAY:
18320 case MICROSECOND:
18321 case MAX:
18322 case MIN:
18323 case SUM:
18324 case COUNT:
18325 case AVG:
18326 case ENABLE:
18327 case DISABLE:
18328 case INSTANCE:
18329 case DO:
18330 case DEFINER:
18331 case SQL:
18332 case CASCADED:
18333 case LOCAL:
18334 case NEXT:
18335 case NAME:
18336 case INTEGER:
18337 case TYPE:
18338 case READ_ONLY:
18339 case DATABASE:
18340 case DATEPART:
18341 case PASSWORD:
18342 case BINARY:
18343 case HIDDEN_:
18344 case MOD:
18345 case PARTITION:
18346 case PARTITIONS:
18347 case TOP:
18348 case ROW:
18349 case ROWS:
18350 case XOR:
18351 case ALWAYS:
18352 case ROLE:
18353 case START:
18354 case ALGORITHM:
18355 case AUTO:
18356 case BLOCKERS:
18357 case CLUSTERED:
18358 case NONCLUSTERED:
18359 case COLUMNSTORE:
18360 case CONTENT:
18361 case CONVERT:
18362 case YEARS:
18363 case MONTHS:
18364 case WEEKS:
18365 case DAYS:
18366 case MINUTES:
18367 case DENY:
18368 case DETERMINISTIC:
18369 case DISTRIBUTION:
18370 case DOCUMENT:
18371 case DURABILITY:
18372 case ENCRYPTED:
18373 case FILESTREAM:
18374 case FILETABLE:
18375 case FILLFACTOR:
18376 case FOLLOWING:
18377 case HASH:
18378 case HEAP:
18379 case INBOUND:
18380 case OUTBOUND:
18381 case UNBOUNDED:
18382 case INFINITE:
18383 case LOGIN:
18384 case MASKED:
18385 case MAXDOP:
18386 case MOVE:
18387 case NOCHECK:
18388 case OBJECT:
18389 case OFF:
18390 case ONLINE:
18391 case OVER:
18392 case PAGE:
18393 case PAUSED:
18394 case PERIOD:
18395 case PERSISTED:
18396 case PRECEDING:
18397 case RANDOMIZED:
18398 case RANGE:
18399 case REBUILD:
18400 case REPLICATE:
18401 case REPLICATION:
18402 case RESUMABLE:
18403 case ROWGUIDCOL:
18404 case SAVE:
18405 case SELF:
18406 case SPARSE:
18407 case SWITCH:
18408 case TRAN:
18409 case TRANCOUNT:
18410 case CONTROL:
18411 case CONCAT:
18412 case TAKE:
18413 case OWNERSHIP:
18414 case DEFINITION:
18415 case APPLICATION:
18416 case ASSEMBLY:
18417 case SYMMETRIC:
18418 case ASYMMETRIC:
18419 case SERVER:
18420 case RECEIVE:
18421 case CHANGE:
18422 case TRACE:
18423 case TRACKING:
18424 case RESOURCES:
18425 case SETTINGS:
18426 case STATE:
18427 case AVAILABILITY:
18428 case CREDENTIAL:
18429 case ENDPOINT:
18430 case EVENT:
18431 case NOTIFICATION:
18432 case LINKED:
18433 case AUDIT:
18434 case DDL:
18435 case XML:
18436 case IMPERSONATE:
18437 case SECURABLES:
18438 case AUTHENTICATE:
18439 case EXTERNAL:
18440 case ACCESS:
18441 case ADMINISTER:
18442 case BULK:
18443 case OPERATIONS:
18444 case UNSAFE:
18445 case SHUTDOWN:
18446 case SCOPED:
18447 case CONFIGURATION:
18448 case DATASPACE:
18449 case SERVICE:
18450 case CERTIFICATE:
18451 case CONTRACT:
18452 case ENCRYPTION:
18453 case MASTER:
18454 case DATA:
18455 case SOURCE:
18456 case FILE:
18457 case FORMAT:
18458 case LIBRARY:
18459 case FULLTEXT:
18460 case MASK:
18461 case UNMASK:
18462 case MESSAGE:
18463 case REMOTE:
18464 case BINDING:
18465 case ROUTE:
18466 case SECURITY:
18467 case POLICY:
18468 case AGGREGATE:
18469 case QUEUE:
18470 case RULE:
18471 case SYNONYM:
18472 case COLLECTION:
18473 case SCRIPT:
18474 case KILL:
18475 case BACKUP:
18476 case LOG:
18477 case SHOWPLAN:
18478 case SUBSCRIBE:
18479 case QUERY:
18480 case NOTIFICATIONS:
18481 case CHECKPOINT:
18482 case SEQUENCE:
18483 case ABORT_AFTER_WAIT:
18484 case ALLOW_PAGE_LOCKS:
18485 case ALLOW_ROW_LOCKS:
18486 case ALL_SPARSE_COLUMNS:
18487 case BUCKET_COUNT:
18488 case COLUMNSTORE_ARCHIVE:
18489 case COLUMN_ENCRYPTION_KEY:
18490 case COLUMN_SET:
18491 case COMPRESSION_DELAY:
18492 case DATABASE_DEAULT:
18493 case DATA_COMPRESSION:
18494 case DATA_CONSISTENCY_CHECK:
18495 case ENCRYPTION_TYPE:
18496 case SYSTEM_TIME:
18497 case SYSTEM_VERSIONING:
18498 case TEXTIMAGE_ON:
18499 case WAIT_AT_LOW_PRIORITY:
18500 case STATISTICS_INCREMENTAL:
18501 case STATISTICS_NORECOMPUTE:
18502 case ROUND_ROBIN:
18503 case SCHEMA_AND_DATA:
18504 case SCHEMA_ONLY:
18505 case SORT_IN_TEMPDB:
18506 case IGNORE_DUP_KEY:
18507 case IMPLICIT_TRANSACTIONS:
18508 case MAX_DURATION:
18509 case MEMORY_OPTIMIZED:
18510 case MIGRATION_STATE:
18511 case PAD_INDEX:
18512 case REMOTE_DATA_ARCHIVE:
18513 case FILESTREAM_ON:
18514 case FILETABLE_COLLATE_FILENAME:
18515 case FILETABLE_DIRECTORY:
18516 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
18517 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
18518 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
18519 case FILTER_PREDICATE:
18520 case HISTORY_RETENTION_PERIOD:
18521 case HISTORY_TABLE:
18522 case LOCK_ESCALATION:
18523 case DROP_EXISTING:
18524 case ROW_NUMBER:
18525 case FIRST:
18526 case DATETIME2:
18527 case OUTPUT:
18528 case INSERTED:
18529 case DELETED:
18530 case FILENAME:
18531 case MAXSIZE:
18532 case FILEGROWTH:
18533 case UNLIMITED:
18534 case KB:
18535 case MB:
18536 case GB:
18537 case TB:
18538 case MEMORY_OPTIMIZED_DATA:
18539 case FILEGROUP:
18540 case NON_TRANSACTED_ACCESS:
18541 case DB_CHAINING:
18542 case TRUSTWORTHY:
18543 case FORWARD_ONLY:
18544 case KEYSET:
18545 case FAST_FORWARD:
18546 case SCROLL_LOCKS:
18547 case OPTIMISTIC:
18548 case TYPE_WARNING:
18549 case SCHEMABINDING:
18550 case CALLER:
18551 case OWNER:
18552 case SNAPSHOT:
18553 case REPEATABLE:
18554 case SERIALIZABLE:
18555 case NATIVE_COMPILATION:
18556 case VIEW_METADATA:
18557 case INSTEAD:
18558 case APPEND:
18559 case INCREMENT:
18560 case CACHE:
18561 case MINVALUE:
18562 case MAXVALUE:
18563 case RESTART:
18564 case LOB_COMPACTION:
18565 case COMPRESS_ALL_ROW_GROUPS:
18566 case REORGANIZE:
18567 case RESUME:
18568 case PAUSE:
18569 case ABORT:
18570 case ACCELERATED_DATABASE_RECOVERY:
18571 case PERSISTENT_VERSION_STORE_FILEGROUP:
18572 case IMMEDIATE:
18573 case NO_WAIT:
18574 case TARGET_RECOVERY_TIME:
18575 case SECONDS:
18576 case HONOR_BROKER_PRIORITY:
18577 case ERROR_BROKER_CONVERSATIONS:
18578 case NEW_BROKER:
18579 case DISABLE_BROKER:
18580 case ENABLE_BROKER:
18581 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
18582 case READ_COMMITTED_SNAPSHOT:
18583 case ALLOW_SNAPSHOT_ISOLATION:
18584 case RECURSIVE_TRIGGERS:
18585 case QUOTED_IDENTIFIER:
18586 case NUMERIC_ROUNDABORT:
18587 case CONCAT_NULL_YIELDS_NULL:
18588 case COMPATIBILITY_LEVEL:
18589 case ARITHABORT:
18590 case ANSI_WARNINGS:
18591 case ANSI_PADDING:
18592 case ANSI_NULLS:
18593 case ANSI_NULL_DEFAULT:
18594 case PAGE_VERIFY:
18595 case CHECKSUM:
18596 case TORN_PAGE_DETECTION:
18597 case BULK_LOGGED:
18598 case RECOVERY:
18599 case TOTAL_EXECUTION_CPU_TIME_MS:
18600 case TOTAL_COMPILE_CPU_TIME_MS:
18601 case STALE_CAPTURE_POLICY_THRESHOLD:
18602 case EXECUTION_COUNT:
18603 case QUERY_CAPTURE_POLICY:
18604 case WAIT_STATS_CAPTURE_MODE:
18605 case MAX_PLANS_PER_QUERY:
18606 case QUERY_CAPTURE_MODE:
18607 case SIZE_BASED_CLEANUP_MODE:
18608 case INTERVAL_LENGTH_MINUTES:
18609 case MAX_STORAGE_SIZE_MB:
18610 case DATA_FLUSH_INTERVAL_SECONDS:
18611 case CLEANUP_POLICY:
18612 case CUSTOM:
18613 case STALE_QUERY_THRESHOLD_DAYS:
18614 case OPERATION_MODE:
18615 case QUERY_STORE:
18616 case CURSOR_DEFAULT:
18617 case GLOBAL:
18618 case CURSOR_CLOSE_ON_COMMIT:
18619 case HOURS:
18620 case CHANGE_RETENTION:
18621 case AUTO_CLEANUP:
18622 case CHANGE_TRACKING:
18623 case AUTOMATIC_TUNING:
18624 case FORCE_LAST_GOOD_PLAN:
18625 case AUTO_UPDATE_STATISTICS_ASYNC:
18626 case AUTO_UPDATE_STATISTICS:
18627 case AUTO_SHRINK:
18628 case AUTO_CREATE_STATISTICS:
18629 case INCREMENTAL:
18630 case AUTO_CLOSE:
18631 case DATA_RETENTION:
18632 case TEMPORAL_HISTORY_RETENTION:
18633 case EDITION:
18634 case MIXED_PAGE_ALLOCATION:
18635 case DISABLED:
18636 case ALLOWED:
18637 case HADR:
18638 case MULTI_USER:
18639 case RESTRICTED_USER:
18640 case SINGLE_USER:
18641 case OFFLINE:
18642 case EMERGENCY:
18643 case SUSPEND:
18644 case DATE_CORRELATION_OPTIMIZATION:
18645 case ELASTIC_POOL:
18646 case SERVICE_OBJECTIVE:
18647 case DATABASE_NAME:
18648 case ALLOW_CONNECTIONS:
18649 case GEO:
18650 case NAMED:
18651 case DATEFIRST:
18652 case BACKUP_STORAGE_REDUNDANCY:
18653 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
18654 case SECONDARY:
18655 case FAILOVER:
18656 case DEFAULT_FULLTEXT_LANGUAGE:
18657 case DEFAULT_LANGUAGE:
18658 case INLINE:
18659 case NESTED_TRIGGERS:
18660 case TRANSFORM_NOISE_WORDS:
18661 case TWO_DIGIT_YEAR_CUTOFF:
18662 case PERSISTENT_LOG_BUFFER:
18663 case DIRECTORY_NAME:
18664 case DATEFORMAT:
18665 case DELAYED_DURABILITY:
18666 case AUTHORIZATION:
18667 case TRANSFER:
18668 case SEARCH:
18669 case MEMBER:
18670 case IDENTIFIER_:
18671 case DELIMITED_IDENTIFIER_:
18672 {
18673 setState(2736);
18674 functionCall();
18675 }
18676 break;
18677 default:
18678 throw new NoViableAltException(this);
18679 }
18680 setState(2739);
18681 match(COMMA_);
18682 }
18683 }
18684
18685 setState(2742);
18686 match(MIGRATION_STATE);
18687 setState(2743);
18688 match(EQ_);
18689 setState(2744);
18690 _la = _input.LA(1);
18691 if ( !(((((_la - 266)) & ~0x3f) == 0 && ((1L << (_la - 266)) & ((1L << (INBOUND - 266)) | (1L << (OUTBOUND - 266)) | (1L << (PAUSED - 266)))) != 0)) ) {
18692 _errHandler.recoverInline(this);
18693 }
18694 else {
18695 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
18696 _errHandler.reportMatch(this);
18697 consume();
18698 }
18699 }
18700 }
18701 catch (RecognitionException re) {
18702 _localctx.exception = re;
18703 _errHandler.reportError(this, re);
18704 _errHandler.recover(this, re);
18705 }
18706 finally {
18707 exitRule();
18708 }
18709 return _localctx;
18710 }
18711
18712 public static class MigrationState_Context extends ParserRuleContext {
18713 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18714 public TerminalNode MIGRATION_STATE() { return getToken(SQLServerStatementParser.MIGRATION_STATE, 0); }
18715 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
18716 public TerminalNode PAUSED() { return getToken(SQLServerStatementParser.PAUSED, 0); }
18717 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18718 public MigrationState_Context(ParserRuleContext parent, int invokingState) {
18719 super(parent, invokingState);
18720 }
18721 @Override public int getRuleIndex() { return RULE_migrationState_; }
18722 @Override
18723 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18724 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMigrationState_(this);
18725 else return visitor.visitChildren(this);
18726 }
18727 }
18728
18729 public final MigrationState_Context migrationState_() throws RecognitionException {
18730 MigrationState_Context _localctx = new MigrationState_Context(_ctx, getState());
18731 enterRule(_localctx, 396, RULE_migrationState_);
18732 try {
18733 enterOuterAlt(_localctx, 1);
18734 {
18735 setState(2746);
18736 match(LP_);
18737 setState(2747);
18738 match(MIGRATION_STATE);
18739 setState(2748);
18740 match(EQ_);
18741 setState(2749);
18742 match(PAUSED);
18743 setState(2750);
18744 match(RP_);
18745 }
18746 }
18747 catch (RecognitionException re) {
18748 _localctx.exception = re;
18749 _errHandler.reportError(this, re);
18750 _errHandler.recover(this, re);
18751 }
18752 finally {
18753 exitRule();
18754 }
18755 return _localctx;
18756 }
18757
18758 public static class TableOperationOptionContext extends ParserRuleContext {
18759 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
18760 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
18761 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
18762 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
18763 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
18764 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
18765 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
18766 public OnHistoryTableClauseContext onHistoryTableClause() {
18767 return getRuleContext(OnHistoryTableClauseContext.class,0);
18768 }
18769 public TableOperationOptionContext(ParserRuleContext parent, int invokingState) {
18770 super(parent, invokingState);
18771 }
18772 @Override public int getRuleIndex() { return RULE_tableOperationOption; }
18773 @Override
18774 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18775 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableOperationOption(this);
18776 else return visitor.visitChildren(this);
18777 }
18778 }
18779
18780 public final TableOperationOptionContext tableOperationOption() throws RecognitionException {
18781 TableOperationOptionContext _localctx = new TableOperationOptionContext(_ctx, getState());
18782 enterRule(_localctx, 398, RULE_tableOperationOption);
18783 int _la;
18784 try {
18785 setState(2764);
18786 _errHandler.sync(this);
18787 switch (_input.LA(1)) {
18788 case MEMORY_OPTIMIZED:
18789 enterOuterAlt(_localctx, 1);
18790 {
18791 {
18792 setState(2752);
18793 match(MEMORY_OPTIMIZED);
18794 setState(2753);
18795 match(EQ_);
18796 setState(2754);
18797 match(ON);
18798 }
18799 }
18800 break;
18801 case DURABILITY:
18802 enterOuterAlt(_localctx, 2);
18803 {
18804 {
18805 setState(2755);
18806 match(DURABILITY);
18807 setState(2756);
18808 match(EQ_);
18809 setState(2757);
18810 _la = _input.LA(1);
18811 if ( !(_la==SCHEMA_AND_DATA || _la==SCHEMA_ONLY) ) {
18812 _errHandler.recoverInline(this);
18813 }
18814 else {
18815 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
18816 _errHandler.reportMatch(this);
18817 consume();
18818 }
18819 }
18820 }
18821 break;
18822 case SYSTEM_VERSIONING:
18823 enterOuterAlt(_localctx, 3);
18824 {
18825 {
18826 setState(2758);
18827 match(SYSTEM_VERSIONING);
18828 setState(2759);
18829 match(EQ_);
18830 setState(2760);
18831 match(ON);
18832 setState(2762);
18833 _errHandler.sync(this);
18834 _la = _input.LA(1);
18835 if (_la==LP_) {
18836 {
18837 setState(2761);
18838 onHistoryTableClause();
18839 }
18840 }
18841
18842 }
18843 }
18844 break;
18845 default:
18846 throw new NoViableAltException(this);
18847 }
18848 }
18849 catch (RecognitionException re) {
18850 _localctx.exception = re;
18851 _errHandler.reportError(this, re);
18852 _errHandler.recover(this, re);
18853 }
18854 finally {
18855 exitRule();
18856 }
18857 return _localctx;
18858 }
18859
18860 public static class DistributionOptionContext extends ParserRuleContext {
18861 public TerminalNode DISTRIBUTION() { return getToken(SQLServerStatementParser.DISTRIBUTION, 0); }
18862 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
18863 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
18864 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18865 public ColumnNameContext columnName() {
18866 return getRuleContext(ColumnNameContext.class,0);
18867 }
18868 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18869 public TerminalNode ROUND_ROBIN() { return getToken(SQLServerStatementParser.ROUND_ROBIN, 0); }
18870 public TerminalNode REPLICATE() { return getToken(SQLServerStatementParser.REPLICATE, 0); }
18871 public DistributionOptionContext(ParserRuleContext parent, int invokingState) {
18872 super(parent, invokingState);
18873 }
18874 @Override public int getRuleIndex() { return RULE_distributionOption; }
18875 @Override
18876 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18877 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDistributionOption(this);
18878 else return visitor.visitChildren(this);
18879 }
18880 }
18881
18882 public final DistributionOptionContext distributionOption() throws RecognitionException {
18883 DistributionOptionContext _localctx = new DistributionOptionContext(_ctx, getState());
18884 enterRule(_localctx, 400, RULE_distributionOption);
18885 try {
18886 enterOuterAlt(_localctx, 1);
18887 {
18888 setState(2766);
18889 match(DISTRIBUTION);
18890 setState(2767);
18891 match(EQ_);
18892 setState(2775);
18893 _errHandler.sync(this);
18894 switch (_input.LA(1)) {
18895 case HASH:
18896 {
18897 setState(2768);
18898 match(HASH);
18899 setState(2769);
18900 match(LP_);
18901 setState(2770);
18902 columnName();
18903 setState(2771);
18904 match(RP_);
18905 }
18906 break;
18907 case ROUND_ROBIN:
18908 {
18909 setState(2773);
18910 match(ROUND_ROBIN);
18911 }
18912 break;
18913 case REPLICATE:
18914 {
18915 setState(2774);
18916 match(REPLICATE);
18917 }
18918 break;
18919 default:
18920 throw new NoViableAltException(this);
18921 }
18922 }
18923 }
18924 catch (RecognitionException re) {
18925 _localctx.exception = re;
18926 _errHandler.reportError(this, re);
18927 _errHandler.recover(this, re);
18928 }
18929 finally {
18930 exitRule();
18931 }
18932 return _localctx;
18933 }
18934
18935 public static class DataWareHouseTableOptionContext extends ParserRuleContext {
18936 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
18937 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
18938 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
18939 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
18940 public ColumnNamesContext columnNames() {
18941 return getRuleContext(ColumnNamesContext.class,0);
18942 }
18943 public TerminalNode HEAP() { return getToken(SQLServerStatementParser.HEAP, 0); }
18944 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
18945 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
18946 public List<ColumnNameContext> columnName() {
18947 return getRuleContexts(ColumnNameContext.class);
18948 }
18949 public ColumnNameContext columnName(int i) {
18950 return getRuleContext(ColumnNameContext.class,i);
18951 }
18952 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
18953 public TerminalNode COMMA_(int i) {
18954 return getToken(SQLServerStatementParser.COMMA_, i);
18955 }
18956 public List<TerminalNode> ASC() { return getTokens(SQLServerStatementParser.ASC); }
18957 public TerminalNode ASC(int i) {
18958 return getToken(SQLServerStatementParser.ASC, i);
18959 }
18960 public List<TerminalNode> DESC() { return getTokens(SQLServerStatementParser.DESC); }
18961 public TerminalNode DESC(int i) {
18962 return getToken(SQLServerStatementParser.DESC, i);
18963 }
18964 public DataWareHouseTableOptionContext(ParserRuleContext parent, int invokingState) {
18965 super(parent, invokingState);
18966 }
18967 @Override public int getRuleIndex() { return RULE_dataWareHouseTableOption; }
18968 @Override
18969 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
18970 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataWareHouseTableOption(this);
18971 else return visitor.visitChildren(this);
18972 }
18973 }
18974
18975 public final DataWareHouseTableOptionContext dataWareHouseTableOption() throws RecognitionException {
18976 DataWareHouseTableOptionContext _localctx = new DataWareHouseTableOptionContext(_ctx, getState());
18977 enterRule(_localctx, 402, RULE_dataWareHouseTableOption);
18978 int _la;
18979 try {
18980 setState(2805);
18981 _errHandler.sync(this);
18982 switch ( getInterpreter().adaptivePredict(_input,233,_ctx) ) {
18983 case 1:
18984 enterOuterAlt(_localctx, 1);
18985 {
18986 setState(2777);
18987 match(CLUSTERED);
18988 setState(2778);
18989 match(COLUMNSTORE);
18990 setState(2779);
18991 match(INDEX);
18992 }
18993 break;
18994 case 2:
18995 enterOuterAlt(_localctx, 2);
18996 {
18997 setState(2780);
18998 match(CLUSTERED);
18999 setState(2781);
19000 match(COLUMNSTORE);
19001 setState(2782);
19002 match(INDEX);
19003 setState(2783);
19004 match(ORDER);
19005 setState(2784);
19006 columnNames();
19007 }
19008 break;
19009 case 3:
19010 enterOuterAlt(_localctx, 3);
19011 {
19012 setState(2785);
19013 match(HEAP);
19014 }
19015 break;
19016 case 4:
19017 enterOuterAlt(_localctx, 4);
19018 {
19019 setState(2786);
19020 match(CLUSTERED);
19021 setState(2787);
19022 match(INDEX);
19023 setState(2788);
19024 match(LP_);
19025 {
19026 setState(2789);
19027 columnName();
19028 setState(2791);
19029 _errHandler.sync(this);
19030 _la = _input.LA(1);
19031 if (_la==ASC || _la==DESC) {
19032 {
19033 setState(2790);
19034 _la = _input.LA(1);
19035 if ( !(_la==ASC || _la==DESC) ) {
19036 _errHandler.recoverInline(this);
19037 }
19038 else {
19039 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19040 _errHandler.reportMatch(this);
19041 consume();
19042 }
19043 }
19044 }
19045
19046 }
19047 setState(2800);
19048 _errHandler.sync(this);
19049 _la = _input.LA(1);
19050 while (_la==COMMA_) {
19051 {
19052 {
19053 setState(2793);
19054 match(COMMA_);
19055 {
19056 setState(2794);
19057 columnName();
19058 setState(2796);
19059 _errHandler.sync(this);
19060 _la = _input.LA(1);
19061 if (_la==ASC || _la==DESC) {
19062 {
19063 setState(2795);
19064 _la = _input.LA(1);
19065 if ( !(_la==ASC || _la==DESC) ) {
19066 _errHandler.recoverInline(this);
19067 }
19068 else {
19069 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19070 _errHandler.reportMatch(this);
19071 consume();
19072 }
19073 }
19074 }
19075
19076 }
19077 }
19078 }
19079 setState(2802);
19080 _errHandler.sync(this);
19081 _la = _input.LA(1);
19082 }
19083 setState(2803);
19084 match(RP_);
19085 }
19086 break;
19087 }
19088 }
19089 catch (RecognitionException re) {
19090 _localctx.exception = re;
19091 _errHandler.reportError(this, re);
19092 _errHandler.recover(this, re);
19093 }
19094 finally {
19095 exitRule();
19096 }
19097 return _localctx;
19098 }
19099
19100 public static class DataWareHousePartitionOptionContext extends ParserRuleContext {
19101 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
19102 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
19103 public TerminalNode LP_(int i) {
19104 return getToken(SQLServerStatementParser.LP_, i);
19105 }
19106 public ColumnNameContext columnName() {
19107 return getRuleContext(ColumnNameContext.class,0);
19108 }
19109 public TerminalNode RANGE() { return getToken(SQLServerStatementParser.RANGE, 0); }
19110 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
19111 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
19112 public List<SimpleExprContext> simpleExpr() {
19113 return getRuleContexts(SimpleExprContext.class);
19114 }
19115 public SimpleExprContext simpleExpr(int i) {
19116 return getRuleContext(SimpleExprContext.class,i);
19117 }
19118 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
19119 public TerminalNode RP_(int i) {
19120 return getToken(SQLServerStatementParser.RP_, i);
19121 }
19122 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
19123 public TerminalNode COMMA_(int i) {
19124 return getToken(SQLServerStatementParser.COMMA_, i);
19125 }
19126 public TerminalNode LEFT() { return getToken(SQLServerStatementParser.LEFT, 0); }
19127 public TerminalNode RIGHT() { return getToken(SQLServerStatementParser.RIGHT, 0); }
19128 public DataWareHousePartitionOptionContext(ParserRuleContext parent, int invokingState) {
19129 super(parent, invokingState);
19130 }
19131 @Override public int getRuleIndex() { return RULE_dataWareHousePartitionOption; }
19132 @Override
19133 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19134 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataWareHousePartitionOption(this);
19135 else return visitor.visitChildren(this);
19136 }
19137 }
19138
19139 public final DataWareHousePartitionOptionContext dataWareHousePartitionOption() throws RecognitionException {
19140 DataWareHousePartitionOptionContext _localctx = new DataWareHousePartitionOptionContext(_ctx, getState());
19141 enterRule(_localctx, 404, RULE_dataWareHousePartitionOption);
19142 int _la;
19143 try {
19144 enterOuterAlt(_localctx, 1);
19145 {
19146 {
19147 setState(2807);
19148 match(PARTITION);
19149 setState(2808);
19150 match(LP_);
19151 setState(2809);
19152 columnName();
19153 setState(2810);
19154 match(RANGE);
19155 setState(2812);
19156 _errHandler.sync(this);
19157 _la = _input.LA(1);
19158 if (_la==LEFT || _la==RIGHT) {
19159 {
19160 setState(2811);
19161 _la = _input.LA(1);
19162 if ( !(_la==LEFT || _la==RIGHT) ) {
19163 _errHandler.recoverInline(this);
19164 }
19165 else {
19166 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19167 _errHandler.reportMatch(this);
19168 consume();
19169 }
19170 }
19171 }
19172
19173 setState(2814);
19174 match(FOR);
19175 setState(2815);
19176 match(VALUES);
19177 setState(2816);
19178 match(LP_);
19179 setState(2817);
19180 simpleExpr(0);
19181 setState(2822);
19182 _errHandler.sync(this);
19183 _la = _input.LA(1);
19184 while (_la==COMMA_) {
19185 {
19186 {
19187 setState(2818);
19188 match(COMMA_);
19189 setState(2819);
19190 simpleExpr(0);
19191 }
19192 }
19193 setState(2824);
19194 _errHandler.sync(this);
19195 _la = _input.LA(1);
19196 }
19197 setState(2825);
19198 match(RP_);
19199 setState(2826);
19200 match(RP_);
19201 }
19202 }
19203 }
19204 catch (RecognitionException re) {
19205 _localctx.exception = re;
19206 _errHandler.reportError(this, re);
19207 _errHandler.recover(this, re);
19208 }
19209 finally {
19210 exitRule();
19211 }
19212 return _localctx;
19213 }
19214
19215 public static class CreateIndexSpecificationContext extends ParserRuleContext {
19216 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
19217 public ClusterOptionContext clusterOption() {
19218 return getRuleContext(ClusterOptionContext.class,0);
19219 }
19220 public CreateIndexSpecificationContext(ParserRuleContext parent, int invokingState) {
19221 super(parent, invokingState);
19222 }
19223 @Override public int getRuleIndex() { return RULE_createIndexSpecification; }
19224 @Override
19225 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19226 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndexSpecification(this);
19227 else return visitor.visitChildren(this);
19228 }
19229 }
19230
19231 public final CreateIndexSpecificationContext createIndexSpecification() throws RecognitionException {
19232 CreateIndexSpecificationContext _localctx = new CreateIndexSpecificationContext(_ctx, getState());
19233 enterRule(_localctx, 406, RULE_createIndexSpecification);
19234 int _la;
19235 try {
19236 enterOuterAlt(_localctx, 1);
19237 {
19238 setState(2829);
19239 _errHandler.sync(this);
19240 _la = _input.LA(1);
19241 if (_la==UNIQUE) {
19242 {
19243 setState(2828);
19244 match(UNIQUE);
19245 }
19246 }
19247
19248 setState(2832);
19249 _errHandler.sync(this);
19250 _la = _input.LA(1);
19251 if (_la==CLUSTERED || _la==NONCLUSTERED) {
19252 {
19253 setState(2831);
19254 clusterOption();
19255 }
19256 }
19257
19258 }
19259 }
19260 catch (RecognitionException re) {
19261 _localctx.exception = re;
19262 _errHandler.reportError(this, re);
19263 _errHandler.recover(this, re);
19264 }
19265 finally {
19266 exitRule();
19267 }
19268 return _localctx;
19269 }
19270
19271 public static class AlterDefinitionClauseContext extends ParserRuleContext {
19272 public AddColumnSpecificationContext addColumnSpecification() {
19273 return getRuleContext(AddColumnSpecificationContext.class,0);
19274 }
19275 public ModifyColumnSpecificationContext modifyColumnSpecification() {
19276 return getRuleContext(ModifyColumnSpecificationContext.class,0);
19277 }
19278 public AlterDropContext alterDrop() {
19279 return getRuleContext(AlterDropContext.class,0);
19280 }
19281 public AlterCheckConstraintContext alterCheckConstraint() {
19282 return getRuleContext(AlterCheckConstraintContext.class,0);
19283 }
19284 public AlterTableTriggerContext alterTableTrigger() {
19285 return getRuleContext(AlterTableTriggerContext.class,0);
19286 }
19287 public AlterSwitchContext alterSwitch() {
19288 return getRuleContext(AlterSwitchContext.class,0);
19289 }
19290 public AlterSetContext alterSet() {
19291 return getRuleContext(AlterSetContext.class,0);
19292 }
19293 public AlterTableOptionContext alterTableOption() {
19294 return getRuleContext(AlterTableOptionContext.class,0);
19295 }
19296 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
19297 public AlterDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
19298 super(parent, invokingState);
19299 }
19300 @Override public int getRuleIndex() { return RULE_alterDefinitionClause; }
19301 @Override
19302 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19303 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDefinitionClause(this);
19304 else return visitor.visitChildren(this);
19305 }
19306 }
19307
19308 public final AlterDefinitionClauseContext alterDefinitionClause() throws RecognitionException {
19309 AlterDefinitionClauseContext _localctx = new AlterDefinitionClauseContext(_ctx, getState());
19310 enterRule(_localctx, 408, RULE_alterDefinitionClause);
19311 try {
19312 setState(2843);
19313 _errHandler.sync(this);
19314 switch ( getInterpreter().adaptivePredict(_input,238,_ctx) ) {
19315 case 1:
19316 enterOuterAlt(_localctx, 1);
19317 {
19318 setState(2834);
19319 addColumnSpecification();
19320 }
19321 break;
19322 case 2:
19323 enterOuterAlt(_localctx, 2);
19324 {
19325 setState(2835);
19326 modifyColumnSpecification();
19327 }
19328 break;
19329 case 3:
19330 enterOuterAlt(_localctx, 3);
19331 {
19332 setState(2836);
19333 alterDrop();
19334 }
19335 break;
19336 case 4:
19337 enterOuterAlt(_localctx, 4);
19338 {
19339 setState(2837);
19340 alterCheckConstraint();
19341 }
19342 break;
19343 case 5:
19344 enterOuterAlt(_localctx, 5);
19345 {
19346 setState(2838);
19347 alterTableTrigger();
19348 }
19349 break;
19350 case 6:
19351 enterOuterAlt(_localctx, 6);
19352 {
19353 setState(2839);
19354 alterSwitch();
19355 }
19356 break;
19357 case 7:
19358 enterOuterAlt(_localctx, 7);
19359 {
19360 setState(2840);
19361 alterSet();
19362 }
19363 break;
19364 case 8:
19365 enterOuterAlt(_localctx, 8);
19366 {
19367 setState(2841);
19368 alterTableOption();
19369 }
19370 break;
19371 case 9:
19372 enterOuterAlt(_localctx, 9);
19373 {
19374 setState(2842);
19375 match(REBUILD);
19376 }
19377 break;
19378 }
19379 }
19380 catch (RecognitionException re) {
19381 _localctx.exception = re;
19382 _errHandler.reportError(this, re);
19383 _errHandler.recover(this, re);
19384 }
19385 finally {
19386 exitRule();
19387 }
19388 return _localctx;
19389 }
19390
19391 public static class AddColumnSpecificationContext extends ParserRuleContext {
19392 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
19393 public AlterColumnAddOptionsContext alterColumnAddOptions() {
19394 return getRuleContext(AlterColumnAddOptionsContext.class,0);
19395 }
19396 public GeneratedColumnNamesClauseContext generatedColumnNamesClause() {
19397 return getRuleContext(GeneratedColumnNamesClauseContext.class,0);
19398 }
19399 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
19400 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
19401 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
19402 public AddColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
19403 super(parent, invokingState);
19404 }
19405 @Override public int getRuleIndex() { return RULE_addColumnSpecification; }
19406 @Override
19407 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19408 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddColumnSpecification(this);
19409 else return visitor.visitChildren(this);
19410 }
19411 }
19412
19413 public final AddColumnSpecificationContext addColumnSpecification() throws RecognitionException {
19414 AddColumnSpecificationContext _localctx = new AddColumnSpecificationContext(_ctx, getState());
19415 enterRule(_localctx, 410, RULE_addColumnSpecification);
19416 int _la;
19417 try {
19418 enterOuterAlt(_localctx, 1);
19419 {
19420 setState(2847);
19421 _errHandler.sync(this);
19422 _la = _input.LA(1);
19423 if (_la==WITH) {
19424 {
19425 setState(2845);
19426 match(WITH);
19427 setState(2846);
19428 _la = _input.LA(1);
19429 if ( !(_la==CHECK || _la==NOCHECK) ) {
19430 _errHandler.recoverInline(this);
19431 }
19432 else {
19433 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
19434 _errHandler.reportMatch(this);
19435 consume();
19436 }
19437 }
19438 }
19439
19440 setState(2849);
19441 match(ADD);
19442 setState(2852);
19443 _errHandler.sync(this);
19444 switch ( getInterpreter().adaptivePredict(_input,240,_ctx) ) {
19445 case 1:
19446 {
19447 setState(2850);
19448 alterColumnAddOptions();
19449 }
19450 break;
19451 case 2:
19452 {
19453 setState(2851);
19454 generatedColumnNamesClause();
19455 }
19456 break;
19457 }
19458 }
19459 }
19460 catch (RecognitionException re) {
19461 _localctx.exception = re;
19462 _errHandler.reportError(this, re);
19463 _errHandler.recover(this, re);
19464 }
19465 finally {
19466 exitRule();
19467 }
19468 return _localctx;
19469 }
19470
19471 public static class ModifyColumnSpecificationContext extends ParserRuleContext {
19472 public AlterColumnOperationContext alterColumnOperation() {
19473 return getRuleContext(AlterColumnOperationContext.class,0);
19474 }
19475 public DataTypeContext dataType() {
19476 return getRuleContext(DataTypeContext.class,0);
19477 }
19478 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
19479 public CollationNameContext collationName() {
19480 return getRuleContext(CollationNameContext.class,0);
19481 }
19482 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
19483 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
19484 public TerminalNode SPARSE() { return getToken(SQLServerStatementParser.SPARSE, 0); }
19485 public ModifyColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
19486 super(parent, invokingState);
19487 }
19488 @Override public int getRuleIndex() { return RULE_modifyColumnSpecification; }
19489 @Override
19490 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19491 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitModifyColumnSpecification(this);
19492 else return visitor.visitChildren(this);
19493 }
19494 }
19495
19496 public final ModifyColumnSpecificationContext modifyColumnSpecification() throws RecognitionException {
19497 ModifyColumnSpecificationContext _localctx = new ModifyColumnSpecificationContext(_ctx, getState());
19498 enterRule(_localctx, 412, RULE_modifyColumnSpecification);
19499 int _la;
19500 try {
19501 enterOuterAlt(_localctx, 1);
19502 {
19503 setState(2854);
19504 alterColumnOperation();
19505 setState(2855);
19506 dataType();
19507 setState(2858);
19508 _errHandler.sync(this);
19509 _la = _input.LA(1);
19510 if (_la==COLLATE) {
19511 {
19512 setState(2856);
19513 match(COLLATE);
19514 setState(2857);
19515 collationName();
19516 }
19517 }
19518
19519 setState(2863);
19520 _errHandler.sync(this);
19521 switch (_input.LA(1)) {
19522 case NULL:
19523 {
19524 setState(2860);
19525 match(NULL);
19526 }
19527 break;
19528 case NOT:
19529 {
19530 setState(2861);
19531 match(NOT);
19532 setState(2862);
19533 match(NULL);
19534 }
19535 break;
19536 case EOF:
19537 case COMMA_:
19538 case SEMI_:
19539 case SELECT:
19540 case INSERT:
19541 case UPDATE:
19542 case DELETE:
19543 case CREATE:
19544 case ALTER:
19545 case DROP:
19546 case TRUNCATE:
19547 case SET:
19548 case WITH:
19549 case DECLARE:
19550 case RETURN:
19551 case END:
19552 case SPARSE:
19553 break;
19554 default:
19555 break;
19556 }
19557 setState(2866);
19558 _errHandler.sync(this);
19559 _la = _input.LA(1);
19560 if (_la==SPARSE) {
19561 {
19562 setState(2865);
19563 match(SPARSE);
19564 }
19565 }
19566
19567 }
19568 }
19569 catch (RecognitionException re) {
19570 _localctx.exception = re;
19571 _errHandler.reportError(this, re);
19572 _errHandler.recover(this, re);
19573 }
19574 finally {
19575 exitRule();
19576 }
19577 return _localctx;
19578 }
19579
19580 public static class AlterColumnOperationContext extends ParserRuleContext {
19581 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
19582 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
19583 public ColumnNameContext columnName() {
19584 return getRuleContext(ColumnNameContext.class,0);
19585 }
19586 public AlterColumnOperationContext(ParserRuleContext parent, int invokingState) {
19587 super(parent, invokingState);
19588 }
19589 @Override public int getRuleIndex() { return RULE_alterColumnOperation; }
19590 @Override
19591 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19592 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnOperation(this);
19593 else return visitor.visitChildren(this);
19594 }
19595 }
19596
19597 public final AlterColumnOperationContext alterColumnOperation() throws RecognitionException {
19598 AlterColumnOperationContext _localctx = new AlterColumnOperationContext(_ctx, getState());
19599 enterRule(_localctx, 414, RULE_alterColumnOperation);
19600 try {
19601 enterOuterAlt(_localctx, 1);
19602 {
19603 setState(2868);
19604 match(ALTER);
19605 setState(2869);
19606 match(COLUMN);
19607 setState(2870);
19608 columnName();
19609 }
19610 }
19611 catch (RecognitionException re) {
19612 _localctx.exception = re;
19613 _errHandler.reportError(this, re);
19614 _errHandler.recover(this, re);
19615 }
19616 finally {
19617 exitRule();
19618 }
19619 return _localctx;
19620 }
19621
19622 public static class AlterColumnAddOptionsContext extends ParserRuleContext {
19623 public List<AlterColumnAddOptionContext> alterColumnAddOption() {
19624 return getRuleContexts(AlterColumnAddOptionContext.class);
19625 }
19626 public AlterColumnAddOptionContext alterColumnAddOption(int i) {
19627 return getRuleContext(AlterColumnAddOptionContext.class,i);
19628 }
19629 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
19630 public TerminalNode COMMA_(int i) {
19631 return getToken(SQLServerStatementParser.COMMA_, i);
19632 }
19633 public AlterColumnAddOptionsContext(ParserRuleContext parent, int invokingState) {
19634 super(parent, invokingState);
19635 }
19636 @Override public int getRuleIndex() { return RULE_alterColumnAddOptions; }
19637 @Override
19638 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19639 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnAddOptions(this);
19640 else return visitor.visitChildren(this);
19641 }
19642 }
19643
19644 public final AlterColumnAddOptionsContext alterColumnAddOptions() throws RecognitionException {
19645 AlterColumnAddOptionsContext _localctx = new AlterColumnAddOptionsContext(_ctx, getState());
19646 enterRule(_localctx, 416, RULE_alterColumnAddOptions);
19647 try {
19648 int _alt;
19649 enterOuterAlt(_localctx, 1);
19650 {
19651 setState(2872);
19652 alterColumnAddOption();
19653 setState(2877);
19654 _errHandler.sync(this);
19655 _alt = getInterpreter().adaptivePredict(_input,244,_ctx);
19656 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
19657 if ( _alt==1 ) {
19658 {
19659 {
19660 setState(2873);
19661 match(COMMA_);
19662 setState(2874);
19663 alterColumnAddOption();
19664 }
19665 }
19666 }
19667 setState(2879);
19668 _errHandler.sync(this);
19669 _alt = getInterpreter().adaptivePredict(_input,244,_ctx);
19670 }
19671 }
19672 }
19673 catch (RecognitionException re) {
19674 _localctx.exception = re;
19675 _errHandler.reportError(this, re);
19676 _errHandler.recover(this, re);
19677 }
19678 finally {
19679 exitRule();
19680 }
19681 return _localctx;
19682 }
19683
19684 public static class AlterColumnAddOptionContext extends ParserRuleContext {
19685 public ColumnDefinitionContext columnDefinition() {
19686 return getRuleContext(ColumnDefinitionContext.class,0);
19687 }
19688 public ComputedColumnDefinitionContext computedColumnDefinition() {
19689 return getRuleContext(ComputedColumnDefinitionContext.class,0);
19690 }
19691 public ColumnSetDefinitionContext columnSetDefinition() {
19692 return getRuleContext(ColumnSetDefinitionContext.class,0);
19693 }
19694 public TableConstraintContext tableConstraint() {
19695 return getRuleContext(TableConstraintContext.class,0);
19696 }
19697 public AlterTableTableIndexContext alterTableTableIndex() {
19698 return getRuleContext(AlterTableTableIndexContext.class,0);
19699 }
19700 public ConstraintForColumnContext constraintForColumn() {
19701 return getRuleContext(ConstraintForColumnContext.class,0);
19702 }
19703 public AlterColumnAddOptionContext(ParserRuleContext parent, int invokingState) {
19704 super(parent, invokingState);
19705 }
19706 @Override public int getRuleIndex() { return RULE_alterColumnAddOption; }
19707 @Override
19708 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19709 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterColumnAddOption(this);
19710 else return visitor.visitChildren(this);
19711 }
19712 }
19713
19714 public final AlterColumnAddOptionContext alterColumnAddOption() throws RecognitionException {
19715 AlterColumnAddOptionContext _localctx = new AlterColumnAddOptionContext(_ctx, getState());
19716 enterRule(_localctx, 418, RULE_alterColumnAddOption);
19717 try {
19718 setState(2886);
19719 _errHandler.sync(this);
19720 switch ( getInterpreter().adaptivePredict(_input,245,_ctx) ) {
19721 case 1:
19722 enterOuterAlt(_localctx, 1);
19723 {
19724 setState(2880);
19725 columnDefinition();
19726 }
19727 break;
19728 case 2:
19729 enterOuterAlt(_localctx, 2);
19730 {
19731 setState(2881);
19732 computedColumnDefinition();
19733 }
19734 break;
19735 case 3:
19736 enterOuterAlt(_localctx, 3);
19737 {
19738 setState(2882);
19739 columnSetDefinition();
19740 }
19741 break;
19742 case 4:
19743 enterOuterAlt(_localctx, 4);
19744 {
19745 setState(2883);
19746 tableConstraint();
19747 }
19748 break;
19749 case 5:
19750 enterOuterAlt(_localctx, 5);
19751 {
19752 setState(2884);
19753 alterTableTableIndex();
19754 }
19755 break;
19756 case 6:
19757 enterOuterAlt(_localctx, 6);
19758 {
19759 setState(2885);
19760 constraintForColumn();
19761 }
19762 break;
19763 }
19764 }
19765 catch (RecognitionException re) {
19766 _localctx.exception = re;
19767 _errHandler.reportError(this, re);
19768 _errHandler.recover(this, re);
19769 }
19770 finally {
19771 exitRule();
19772 }
19773 return _localctx;
19774 }
19775
19776 public static class ConstraintForColumnContext extends ParserRuleContext {
19777 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
19778 public SimpleExprContext simpleExpr() {
19779 return getRuleContext(SimpleExprContext.class,0);
19780 }
19781 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
19782 public ColumnNameContext columnName() {
19783 return getRuleContext(ColumnNameContext.class,0);
19784 }
19785 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
19786 public ConstraintNameContext constraintName() {
19787 return getRuleContext(ConstraintNameContext.class,0);
19788 }
19789 public ConstraintForColumnContext(ParserRuleContext parent, int invokingState) {
19790 super(parent, invokingState);
19791 }
19792 @Override public int getRuleIndex() { return RULE_constraintForColumn; }
19793 @Override
19794 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19795 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConstraintForColumn(this);
19796 else return visitor.visitChildren(this);
19797 }
19798 }
19799
19800 public final ConstraintForColumnContext constraintForColumn() throws RecognitionException {
19801 ConstraintForColumnContext _localctx = new ConstraintForColumnContext(_ctx, getState());
19802 enterRule(_localctx, 420, RULE_constraintForColumn);
19803 int _la;
19804 try {
19805 enterOuterAlt(_localctx, 1);
19806 {
19807 setState(2890);
19808 _errHandler.sync(this);
19809 _la = _input.LA(1);
19810 if (_la==CONSTRAINT) {
19811 {
19812 setState(2888);
19813 match(CONSTRAINT);
19814 setState(2889);
19815 constraintName();
19816 }
19817 }
19818
19819 setState(2892);
19820 match(DEFAULT);
19821 setState(2893);
19822 simpleExpr(0);
19823 setState(2894);
19824 match(FOR);
19825 setState(2895);
19826 columnName();
19827 }
19828 }
19829 catch (RecognitionException re) {
19830 _localctx.exception = re;
19831 _errHandler.reportError(this, re);
19832 _errHandler.recover(this, re);
19833 }
19834 finally {
19835 exitRule();
19836 }
19837 return _localctx;
19838 }
19839
19840 public static class GeneratedColumnNamesClauseContext extends ParserRuleContext {
19841 public GeneratedColumnNameClauseContext generatedColumnNameClause() {
19842 return getRuleContext(GeneratedColumnNameClauseContext.class,0);
19843 }
19844 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
19845 public PeriodClauseContext periodClause() {
19846 return getRuleContext(PeriodClauseContext.class,0);
19847 }
19848 public GeneratedColumnNamesClauseContext(ParserRuleContext parent, int invokingState) {
19849 super(parent, invokingState);
19850 }
19851 @Override public int getRuleIndex() { return RULE_generatedColumnNamesClause; }
19852 @Override
19853 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19854 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnNamesClause(this);
19855 else return visitor.visitChildren(this);
19856 }
19857 }
19858
19859 public final GeneratedColumnNamesClauseContext generatedColumnNamesClause() throws RecognitionException {
19860 GeneratedColumnNamesClauseContext _localctx = new GeneratedColumnNamesClauseContext(_ctx, getState());
19861 enterRule(_localctx, 422, RULE_generatedColumnNamesClause);
19862 try {
19863 setState(2905);
19864 _errHandler.sync(this);
19865 switch ( getInterpreter().adaptivePredict(_input,247,_ctx) ) {
19866 case 1:
19867 enterOuterAlt(_localctx, 1);
19868 {
19869 setState(2897);
19870 generatedColumnNameClause();
19871 setState(2898);
19872 match(COMMA_);
19873 setState(2899);
19874 periodClause();
19875 }
19876 break;
19877 case 2:
19878 enterOuterAlt(_localctx, 2);
19879 {
19880 setState(2901);
19881 periodClause();
19882 setState(2902);
19883 match(COMMA_);
19884 setState(2903);
19885 generatedColumnNameClause();
19886 }
19887 break;
19888 }
19889 }
19890 catch (RecognitionException re) {
19891 _localctx.exception = re;
19892 _errHandler.reportError(this, re);
19893 _errHandler.recover(this, re);
19894 }
19895 finally {
19896 exitRule();
19897 }
19898 return _localctx;
19899 }
19900
19901 public static class GeneratedColumnNameClauseContext extends ParserRuleContext {
19902 public List<GeneratedColumnNameContext> generatedColumnName() {
19903 return getRuleContexts(GeneratedColumnNameContext.class);
19904 }
19905 public GeneratedColumnNameContext generatedColumnName(int i) {
19906 return getRuleContext(GeneratedColumnNameContext.class,i);
19907 }
19908 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
19909 public SimpleExprContext simpleExpr() {
19910 return getRuleContext(SimpleExprContext.class,0);
19911 }
19912 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
19913 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
19914 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
19915 public GeneratedColumnNameClauseContext(ParserRuleContext parent, int invokingState) {
19916 super(parent, invokingState);
19917 }
19918 @Override public int getRuleIndex() { return RULE_generatedColumnNameClause; }
19919 @Override
19920 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19921 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnNameClause(this);
19922 else return visitor.visitChildren(this);
19923 }
19924 }
19925
19926 public final GeneratedColumnNameClauseContext generatedColumnNameClause() throws RecognitionException {
19927 GeneratedColumnNameClauseContext _localctx = new GeneratedColumnNameClauseContext(_ctx, getState());
19928 enterRule(_localctx, 424, RULE_generatedColumnNameClause);
19929 int _la;
19930 try {
19931 enterOuterAlt(_localctx, 1);
19932 {
19933 setState(2907);
19934 generatedColumnName();
19935 setState(2908);
19936 match(DEFAULT);
19937 setState(2909);
19938 simpleExpr(0);
19939 setState(2912);
19940 _errHandler.sync(this);
19941 _la = _input.LA(1);
19942 if (_la==WITH) {
19943 {
19944 setState(2910);
19945 match(WITH);
19946 setState(2911);
19947 match(VALUES);
19948 }
19949 }
19950
19951 setState(2914);
19952 match(COMMA_);
19953 setState(2915);
19954 generatedColumnName();
19955 }
19956 }
19957 catch (RecognitionException re) {
19958 _localctx.exception = re;
19959 _errHandler.reportError(this, re);
19960 _errHandler.recover(this, re);
19961 }
19962 finally {
19963 exitRule();
19964 }
19965 return _localctx;
19966 }
19967
19968 public static class GeneratedColumnNameContext extends ParserRuleContext {
19969 public ColumnNameContext columnName() {
19970 return getRuleContext(ColumnNameContext.class,0);
19971 }
19972 public DataTypeNameContext dataTypeName() {
19973 return getRuleContext(DataTypeNameContext.class,0);
19974 }
19975 public TerminalNode GENERATED() { return getToken(SQLServerStatementParser.GENERATED, 0); }
19976 public TerminalNode ALWAYS() { return getToken(SQLServerStatementParser.ALWAYS, 0); }
19977 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
19978 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
19979 public TerminalNode HIDDEN_() { return getToken(SQLServerStatementParser.HIDDEN_, 0); }
19980 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
19981 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
19982 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
19983 public IgnoredIdentifierContext ignoredIdentifier() {
19984 return getRuleContext(IgnoredIdentifierContext.class,0);
19985 }
19986 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
19987 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
19988 public GeneratedColumnNameContext(ParserRuleContext parent, int invokingState) {
19989 super(parent, invokingState);
19990 }
19991 @Override public int getRuleIndex() { return RULE_generatedColumnName; }
19992 @Override
19993 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
19994 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGeneratedColumnName(this);
19995 else return visitor.visitChildren(this);
19996 }
19997 }
19998
19999 public final GeneratedColumnNameContext generatedColumnName() throws RecognitionException {
20000 GeneratedColumnNameContext _localctx = new GeneratedColumnNameContext(_ctx, getState());
20001 enterRule(_localctx, 426, RULE_generatedColumnName);
20002 int _la;
20003 try {
20004 enterOuterAlt(_localctx, 1);
20005 {
20006 setState(2917);
20007 columnName();
20008 setState(2918);
20009 dataTypeName();
20010 setState(2919);
20011 match(GENERATED);
20012 setState(2920);
20013 match(ALWAYS);
20014 setState(2921);
20015 match(AS);
20016 setState(2922);
20017 match(ROW);
20018 setState(2924);
20019 _errHandler.sync(this);
20020 switch ( getInterpreter().adaptivePredict(_input,249,_ctx) ) {
20021 case 1:
20022 {
20023 setState(2923);
20024 _la = _input.LA(1);
20025 if ( !(_la==START || _la==END) ) {
20026 _errHandler.recoverInline(this);
20027 }
20028 else {
20029 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20030 _errHandler.reportMatch(this);
20031 consume();
20032 }
20033 }
20034 break;
20035 }
20036 setState(2927);
20037 _errHandler.sync(this);
20038 _la = _input.LA(1);
20039 if (_la==HIDDEN_) {
20040 {
20041 setState(2926);
20042 match(HIDDEN_);
20043 }
20044 }
20045
20046 setState(2931);
20047 _errHandler.sync(this);
20048 _la = _input.LA(1);
20049 if (_la==NOT) {
20050 {
20051 setState(2929);
20052 match(NOT);
20053 setState(2930);
20054 match(NULL);
20055 }
20056 }
20057
20058 setState(2935);
20059 _errHandler.sync(this);
20060 _la = _input.LA(1);
20061 if (_la==CONSTRAINT) {
20062 {
20063 setState(2933);
20064 match(CONSTRAINT);
20065 setState(2934);
20066 ignoredIdentifier();
20067 }
20068 }
20069
20070 }
20071 }
20072 catch (RecognitionException re) {
20073 _localctx.exception = re;
20074 _errHandler.reportError(this, re);
20075 _errHandler.recover(this, re);
20076 }
20077 finally {
20078 exitRule();
20079 }
20080 return _localctx;
20081 }
20082
20083 public static class AlterDropContext extends ParserRuleContext {
20084 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
20085 public AlterTableDropConstraintContext alterTableDropConstraint() {
20086 return getRuleContext(AlterTableDropConstraintContext.class,0);
20087 }
20088 public DropColumnSpecificationContext dropColumnSpecification() {
20089 return getRuleContext(DropColumnSpecificationContext.class,0);
20090 }
20091 public DropIndexSpecificationContext dropIndexSpecification() {
20092 return getRuleContext(DropIndexSpecificationContext.class,0);
20093 }
20094 public TerminalNode PERIOD() { return getToken(SQLServerStatementParser.PERIOD, 0); }
20095 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
20096 public TerminalNode SYSTEM_TIME() { return getToken(SQLServerStatementParser.SYSTEM_TIME, 0); }
20097 public AlterDropContext(ParserRuleContext parent, int invokingState) {
20098 super(parent, invokingState);
20099 }
20100 @Override public int getRuleIndex() { return RULE_alterDrop; }
20101 @Override
20102 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20103 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDrop(this);
20104 else return visitor.visitChildren(this);
20105 }
20106 }
20107
20108 public final AlterDropContext alterDrop() throws RecognitionException {
20109 AlterDropContext _localctx = new AlterDropContext(_ctx, getState());
20110 enterRule(_localctx, 428, RULE_alterDrop);
20111 try {
20112 enterOuterAlt(_localctx, 1);
20113 {
20114 setState(2937);
20115 match(DROP);
20116 setState(2944);
20117 _errHandler.sync(this);
20118 switch ( getInterpreter().adaptivePredict(_input,253,_ctx) ) {
20119 case 1:
20120 {
20121 setState(2938);
20122 alterTableDropConstraint();
20123 }
20124 break;
20125 case 2:
20126 {
20127 setState(2939);
20128 dropColumnSpecification();
20129 }
20130 break;
20131 case 3:
20132 {
20133 setState(2940);
20134 dropIndexSpecification();
20135 }
20136 break;
20137 case 4:
20138 {
20139 setState(2941);
20140 match(PERIOD);
20141 setState(2942);
20142 match(FOR);
20143 setState(2943);
20144 match(SYSTEM_TIME);
20145 }
20146 break;
20147 }
20148 }
20149 }
20150 catch (RecognitionException re) {
20151 _localctx.exception = re;
20152 _errHandler.reportError(this, re);
20153 _errHandler.recover(this, re);
20154 }
20155 finally {
20156 exitRule();
20157 }
20158 return _localctx;
20159 }
20160
20161 public static class AlterTableDropConstraintContext extends ParserRuleContext {
20162 public List<DropConstraintNameContext> dropConstraintName() {
20163 return getRuleContexts(DropConstraintNameContext.class);
20164 }
20165 public DropConstraintNameContext dropConstraintName(int i) {
20166 return getRuleContext(DropConstraintNameContext.class,i);
20167 }
20168 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
20169 public IfExistsContext ifExists() {
20170 return getRuleContext(IfExistsContext.class,0);
20171 }
20172 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20173 public TerminalNode COMMA_(int i) {
20174 return getToken(SQLServerStatementParser.COMMA_, i);
20175 }
20176 public AlterTableDropConstraintContext(ParserRuleContext parent, int invokingState) {
20177 super(parent, invokingState);
20178 }
20179 @Override public int getRuleIndex() { return RULE_alterTableDropConstraint; }
20180 @Override
20181 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20182 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableDropConstraint(this);
20183 else return visitor.visitChildren(this);
20184 }
20185 }
20186
20187 public final AlterTableDropConstraintContext alterTableDropConstraint() throws RecognitionException {
20188 AlterTableDropConstraintContext _localctx = new AlterTableDropConstraintContext(_ctx, getState());
20189 enterRule(_localctx, 430, RULE_alterTableDropConstraint);
20190 int _la;
20191 try {
20192 int _alt;
20193 enterOuterAlt(_localctx, 1);
20194 {
20195 setState(2947);
20196 _errHandler.sync(this);
20197 _la = _input.LA(1);
20198 if (_la==CONSTRAINT) {
20199 {
20200 setState(2946);
20201 match(CONSTRAINT);
20202 }
20203 }
20204
20205 setState(2950);
20206 _errHandler.sync(this);
20207 _la = _input.LA(1);
20208 if (_la==IF) {
20209 {
20210 setState(2949);
20211 ifExists();
20212 }
20213 }
20214
20215 setState(2952);
20216 dropConstraintName();
20217 setState(2957);
20218 _errHandler.sync(this);
20219 _alt = getInterpreter().adaptivePredict(_input,256,_ctx);
20220 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
20221 if ( _alt==1 ) {
20222 {
20223 {
20224 setState(2953);
20225 match(COMMA_);
20226 setState(2954);
20227 dropConstraintName();
20228 }
20229 }
20230 }
20231 setState(2959);
20232 _errHandler.sync(this);
20233 _alt = getInterpreter().adaptivePredict(_input,256,_ctx);
20234 }
20235 }
20236 }
20237 catch (RecognitionException re) {
20238 _localctx.exception = re;
20239 _errHandler.reportError(this, re);
20240 _errHandler.recover(this, re);
20241 }
20242 finally {
20243 exitRule();
20244 }
20245 return _localctx;
20246 }
20247
20248 public static class DropConstraintNameContext extends ParserRuleContext {
20249 public ConstraintNameContext constraintName() {
20250 return getRuleContext(ConstraintNameContext.class,0);
20251 }
20252 public DropConstraintWithClauseContext dropConstraintWithClause() {
20253 return getRuleContext(DropConstraintWithClauseContext.class,0);
20254 }
20255 public DropConstraintNameContext(ParserRuleContext parent, int invokingState) {
20256 super(parent, invokingState);
20257 }
20258 @Override public int getRuleIndex() { return RULE_dropConstraintName; }
20259 @Override
20260 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20261 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintName(this);
20262 else return visitor.visitChildren(this);
20263 }
20264 }
20265
20266 public final DropConstraintNameContext dropConstraintName() throws RecognitionException {
20267 DropConstraintNameContext _localctx = new DropConstraintNameContext(_ctx, getState());
20268 enterRule(_localctx, 432, RULE_dropConstraintName);
20269 try {
20270 enterOuterAlt(_localctx, 1);
20271 {
20272 setState(2960);
20273 constraintName();
20274 setState(2962);
20275 _errHandler.sync(this);
20276 switch ( getInterpreter().adaptivePredict(_input,257,_ctx) ) {
20277 case 1:
20278 {
20279 setState(2961);
20280 dropConstraintWithClause();
20281 }
20282 break;
20283 }
20284 }
20285 }
20286 catch (RecognitionException re) {
20287 _localctx.exception = re;
20288 _errHandler.reportError(this, re);
20289 _errHandler.recover(this, re);
20290 }
20291 finally {
20292 exitRule();
20293 }
20294 return _localctx;
20295 }
20296
20297 public static class DropConstraintWithClauseContext extends ParserRuleContext {
20298 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
20299 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20300 public List<DropConstraintOptionContext> dropConstraintOption() {
20301 return getRuleContexts(DropConstraintOptionContext.class);
20302 }
20303 public DropConstraintOptionContext dropConstraintOption(int i) {
20304 return getRuleContext(DropConstraintOptionContext.class,i);
20305 }
20306 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20307 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20308 public TerminalNode COMMA_(int i) {
20309 return getToken(SQLServerStatementParser.COMMA_, i);
20310 }
20311 public DropConstraintWithClauseContext(ParserRuleContext parent, int invokingState) {
20312 super(parent, invokingState);
20313 }
20314 @Override public int getRuleIndex() { return RULE_dropConstraintWithClause; }
20315 @Override
20316 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20317 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintWithClause(this);
20318 else return visitor.visitChildren(this);
20319 }
20320 }
20321
20322 public final DropConstraintWithClauseContext dropConstraintWithClause() throws RecognitionException {
20323 DropConstraintWithClauseContext _localctx = new DropConstraintWithClauseContext(_ctx, getState());
20324 enterRule(_localctx, 434, RULE_dropConstraintWithClause);
20325 int _la;
20326 try {
20327 enterOuterAlt(_localctx, 1);
20328 {
20329 setState(2964);
20330 match(WITH);
20331 setState(2965);
20332 match(LP_);
20333 setState(2966);
20334 dropConstraintOption();
20335 setState(2971);
20336 _errHandler.sync(this);
20337 _la = _input.LA(1);
20338 while (_la==COMMA_) {
20339 {
20340 {
20341 setState(2967);
20342 match(COMMA_);
20343 setState(2968);
20344 dropConstraintOption();
20345 }
20346 }
20347 setState(2973);
20348 _errHandler.sync(this);
20349 _la = _input.LA(1);
20350 }
20351 setState(2974);
20352 match(RP_);
20353 }
20354 }
20355 catch (RecognitionException re) {
20356 _localctx.exception = re;
20357 _errHandler.reportError(this, re);
20358 _errHandler.recover(this, re);
20359 }
20360 finally {
20361 exitRule();
20362 }
20363 return _localctx;
20364 }
20365
20366 public static class DropConstraintOptionContext extends ParserRuleContext {
20367 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
20368 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
20369 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
20370 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
20371 public OnOffOptionContext onOffOption() {
20372 return getRuleContext(OnOffOptionContext.class,0);
20373 }
20374 public TerminalNode MOVE() { return getToken(SQLServerStatementParser.MOVE, 0); }
20375 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
20376 public SchemaNameContext schemaName() {
20377 return getRuleContext(SchemaNameContext.class,0);
20378 }
20379 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
20380 public ColumnNameContext columnName() {
20381 return getRuleContext(ColumnNameContext.class,0);
20382 }
20383 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
20384 public IgnoredIdentifierContext ignoredIdentifier() {
20385 return getRuleContext(IgnoredIdentifierContext.class,0);
20386 }
20387 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
20388 public DropConstraintOptionContext(ParserRuleContext parent, int invokingState) {
20389 super(parent, invokingState);
20390 }
20391 @Override public int getRuleIndex() { return RULE_dropConstraintOption; }
20392 @Override
20393 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20394 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropConstraintOption(this);
20395 else return visitor.visitChildren(this);
20396 }
20397 }
20398
20399 public final DropConstraintOptionContext dropConstraintOption() throws RecognitionException {
20400 DropConstraintOptionContext _localctx = new DropConstraintOptionContext(_ctx, getState());
20401 enterRule(_localctx, 436, RULE_dropConstraintOption);
20402 try {
20403 enterOuterAlt(_localctx, 1);
20404 {
20405 setState(2993);
20406 _errHandler.sync(this);
20407 switch (_input.LA(1)) {
20408 case MAXDOP:
20409 {
20410 setState(2976);
20411 match(MAXDOP);
20412 setState(2977);
20413 match(EQ_);
20414 setState(2978);
20415 match(NUMBER_);
20416 }
20417 break;
20418 case ONLINE:
20419 {
20420 setState(2979);
20421 match(ONLINE);
20422 setState(2980);
20423 match(EQ_);
20424 setState(2981);
20425 onOffOption();
20426 }
20427 break;
20428 case MOVE:
20429 {
20430 setState(2982);
20431 match(MOVE);
20432 setState(2983);
20433 match(TO);
20434 setState(2991);
20435 _errHandler.sync(this);
20436 switch ( getInterpreter().adaptivePredict(_input,259,_ctx) ) {
20437 case 1:
20438 {
20439 setState(2984);
20440 schemaName();
20441 setState(2985);
20442 match(LP_);
20443 setState(2986);
20444 columnName();
20445 setState(2987);
20446 match(RP_);
20447 }
20448 break;
20449 case 2:
20450 {
20451 setState(2989);
20452 ignoredIdentifier();
20453 }
20454 break;
20455 case 3:
20456 {
20457 setState(2990);
20458 match(STRING_);
20459 }
20460 break;
20461 }
20462 }
20463 break;
20464 default:
20465 throw new NoViableAltException(this);
20466 }
20467 }
20468 }
20469 catch (RecognitionException re) {
20470 _localctx.exception = re;
20471 _errHandler.reportError(this, re);
20472 _errHandler.recover(this, re);
20473 }
20474 finally {
20475 exitRule();
20476 }
20477 return _localctx;
20478 }
20479
20480 public static class OnOffOptionContext extends ParserRuleContext {
20481 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
20482 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
20483 public OnOffOptionContext(ParserRuleContext parent, int invokingState) {
20484 super(parent, invokingState);
20485 }
20486 @Override public int getRuleIndex() { return RULE_onOffOption; }
20487 @Override
20488 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20489 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnOffOption(this);
20490 else return visitor.visitChildren(this);
20491 }
20492 }
20493
20494 public final OnOffOptionContext onOffOption() throws RecognitionException {
20495 OnOffOptionContext _localctx = new OnOffOptionContext(_ctx, getState());
20496 enterRule(_localctx, 438, RULE_onOffOption);
20497 int _la;
20498 try {
20499 enterOuterAlt(_localctx, 1);
20500 {
20501 setState(2995);
20502 _la = _input.LA(1);
20503 if ( !(_la==ON || _la==OFF) ) {
20504 _errHandler.recoverInline(this);
20505 }
20506 else {
20507 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20508 _errHandler.reportMatch(this);
20509 consume();
20510 }
20511 }
20512 }
20513 catch (RecognitionException re) {
20514 _localctx.exception = re;
20515 _errHandler.reportError(this, re);
20516 _errHandler.recover(this, re);
20517 }
20518 finally {
20519 exitRule();
20520 }
20521 return _localctx;
20522 }
20523
20524 public static class DropColumnSpecificationContext extends ParserRuleContext {
20525 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
20526 public List<ColumnNameContext> columnName() {
20527 return getRuleContexts(ColumnNameContext.class);
20528 }
20529 public ColumnNameContext columnName(int i) {
20530 return getRuleContext(ColumnNameContext.class,i);
20531 }
20532 public IfExistsContext ifExists() {
20533 return getRuleContext(IfExistsContext.class,0);
20534 }
20535 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20536 public TerminalNode COMMA_(int i) {
20537 return getToken(SQLServerStatementParser.COMMA_, i);
20538 }
20539 public DropColumnSpecificationContext(ParserRuleContext parent, int invokingState) {
20540 super(parent, invokingState);
20541 }
20542 @Override public int getRuleIndex() { return RULE_dropColumnSpecification; }
20543 @Override
20544 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20545 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropColumnSpecification(this);
20546 else return visitor.visitChildren(this);
20547 }
20548 }
20549
20550 public final DropColumnSpecificationContext dropColumnSpecification() throws RecognitionException {
20551 DropColumnSpecificationContext _localctx = new DropColumnSpecificationContext(_ctx, getState());
20552 enterRule(_localctx, 440, RULE_dropColumnSpecification);
20553 int _la;
20554 try {
20555 int _alt;
20556 enterOuterAlt(_localctx, 1);
20557 {
20558 setState(2997);
20559 match(COLUMN);
20560 setState(2999);
20561 _errHandler.sync(this);
20562 _la = _input.LA(1);
20563 if (_la==IF) {
20564 {
20565 setState(2998);
20566 ifExists();
20567 }
20568 }
20569
20570 setState(3001);
20571 columnName();
20572 setState(3006);
20573 _errHandler.sync(this);
20574 _alt = getInterpreter().adaptivePredict(_input,262,_ctx);
20575 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
20576 if ( _alt==1 ) {
20577 {
20578 {
20579 setState(3002);
20580 match(COMMA_);
20581 setState(3003);
20582 columnName();
20583 }
20584 }
20585 }
20586 setState(3008);
20587 _errHandler.sync(this);
20588 _alt = getInterpreter().adaptivePredict(_input,262,_ctx);
20589 }
20590 }
20591 }
20592 catch (RecognitionException re) {
20593 _localctx.exception = re;
20594 _errHandler.reportError(this, re);
20595 _errHandler.recover(this, re);
20596 }
20597 finally {
20598 exitRule();
20599 }
20600 return _localctx;
20601 }
20602
20603 public static class DropIndexSpecificationContext extends ParserRuleContext {
20604 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
20605 public List<IndexNameContext> indexName() {
20606 return getRuleContexts(IndexNameContext.class);
20607 }
20608 public IndexNameContext indexName(int i) {
20609 return getRuleContext(IndexNameContext.class,i);
20610 }
20611 public IfExistsContext ifExists() {
20612 return getRuleContext(IfExistsContext.class,0);
20613 }
20614 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
20615 public TerminalNode COMMA_(int i) {
20616 return getToken(SQLServerStatementParser.COMMA_, i);
20617 }
20618 public DropIndexSpecificationContext(ParserRuleContext parent, int invokingState) {
20619 super(parent, invokingState);
20620 }
20621 @Override public int getRuleIndex() { return RULE_dropIndexSpecification; }
20622 @Override
20623 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20624 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropIndexSpecification(this);
20625 else return visitor.visitChildren(this);
20626 }
20627 }
20628
20629 public final DropIndexSpecificationContext dropIndexSpecification() throws RecognitionException {
20630 DropIndexSpecificationContext _localctx = new DropIndexSpecificationContext(_ctx, getState());
20631 enterRule(_localctx, 442, RULE_dropIndexSpecification);
20632 int _la;
20633 try {
20634 int _alt;
20635 enterOuterAlt(_localctx, 1);
20636 {
20637 setState(3009);
20638 match(INDEX);
20639 setState(3011);
20640 _errHandler.sync(this);
20641 _la = _input.LA(1);
20642 if (_la==IF) {
20643 {
20644 setState(3010);
20645 ifExists();
20646 }
20647 }
20648
20649 setState(3013);
20650 indexName();
20651 setState(3018);
20652 _errHandler.sync(this);
20653 _alt = getInterpreter().adaptivePredict(_input,264,_ctx);
20654 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
20655 if ( _alt==1 ) {
20656 {
20657 {
20658 setState(3014);
20659 match(COMMA_);
20660 setState(3015);
20661 indexName();
20662 }
20663 }
20664 }
20665 setState(3020);
20666 _errHandler.sync(this);
20667 _alt = getInterpreter().adaptivePredict(_input,264,_ctx);
20668 }
20669 }
20670 }
20671 catch (RecognitionException re) {
20672 _localctx.exception = re;
20673 _errHandler.reportError(this, re);
20674 _errHandler.recover(this, re);
20675 }
20676 finally {
20677 exitRule();
20678 }
20679 return _localctx;
20680 }
20681
20682 public static class AlterCheckConstraintContext extends ParserRuleContext {
20683 public TerminalNode CONSTRAINT() { return getToken(SQLServerStatementParser.CONSTRAINT, 0); }
20684 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
20685 public TerminalNode NOCHECK() { return getToken(SQLServerStatementParser.NOCHECK, 0); }
20686 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
20687 public ConstraintNameContext constraintName() {
20688 return getRuleContext(ConstraintNameContext.class,0);
20689 }
20690 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
20691 public AlterCheckConstraintContext(ParserRuleContext parent, int invokingState) {
20692 super(parent, invokingState);
20693 }
20694 @Override public int getRuleIndex() { return RULE_alterCheckConstraint; }
20695 @Override
20696 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
20697 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterCheckConstraint(this);
20698 else return visitor.visitChildren(this);
20699 }
20700 }
20701
20702 public final AlterCheckConstraintContext alterCheckConstraint() throws RecognitionException {
20703 AlterCheckConstraintContext _localctx = new AlterCheckConstraintContext(_ctx, getState());
20704 enterRule(_localctx, 444, RULE_alterCheckConstraint);
20705 int _la;
20706 try {
20707 enterOuterAlt(_localctx, 1);
20708 {
20709 setState(3022);
20710 _errHandler.sync(this);
20711 _la = _input.LA(1);
20712 if (_la==WITH) {
20713 {
20714 setState(3021);
20715 match(WITH);
20716 }
20717 }
20718
20719 setState(3024);
20720 _la = _input.LA(1);
20721 if ( !(_la==CHECK || _la==NOCHECK) ) {
20722 _errHandler.recoverInline(this);
20723 }
20724 else {
20725 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
20726 _errHandler.reportMatch(this);
20727 consume();
20728 }
20729 setState(3025);
20730 match(CONSTRAINT);
20731 setState(3028);
20732 _errHandler.sync(this);
20733 switch (_input.LA(1)) {
20734 case ALL:
20735 {
20736 setState(3026);
20737 match(ALL);
20738 }
20739 break;
20740 case TRUNCATE:
20741 case SCHEMA:
20742 case FUNCTION:
20743 case TRIGGER:
20744 case CAST:
20745 case GROUP:
20746 case LIMIT:
20747 case OFFSET:
20748 case SAVEPOINT:
20749 case BOOLEAN:
20750 case ARRAY:
20751 case DATE:
20752 case LOCALTIME:
20753 case LOCALTIMESTAMP:
20754 case QUARTER:
20755 case WEEK:
20756 case DAY:
20757 case MICROSECOND:
20758 case MAX:
20759 case MIN:
20760 case SUM:
20761 case COUNT:
20762 case AVG:
20763 case ENABLE:
20764 case DISABLE:
20765 case INSTANCE:
20766 case DO:
20767 case DEFINER:
20768 case SQL:
20769 case CASCADED:
20770 case LOCAL:
20771 case NEXT:
20772 case NAME:
20773 case INTEGER:
20774 case TYPE:
20775 case READ_ONLY:
20776 case DATABASE:
20777 case DATEPART:
20778 case PASSWORD:
20779 case BINARY:
20780 case HIDDEN_:
20781 case MOD:
20782 case PARTITION:
20783 case PARTITIONS:
20784 case TOP:
20785 case ROW:
20786 case ROWS:
20787 case XOR:
20788 case ALWAYS:
20789 case ROLE:
20790 case START:
20791 case ALGORITHM:
20792 case AUTO:
20793 case BLOCKERS:
20794 case CLUSTERED:
20795 case NONCLUSTERED:
20796 case COLUMNSTORE:
20797 case CONTENT:
20798 case YEARS:
20799 case MONTHS:
20800 case WEEKS:
20801 case DAYS:
20802 case MINUTES:
20803 case DENY:
20804 case DETERMINISTIC:
20805 case DISTRIBUTION:
20806 case DOCUMENT:
20807 case DURABILITY:
20808 case ENCRYPTED:
20809 case FILESTREAM:
20810 case FILETABLE:
20811 case FILLFACTOR:
20812 case FOLLOWING:
20813 case HASH:
20814 case HEAP:
20815 case INBOUND:
20816 case OUTBOUND:
20817 case UNBOUNDED:
20818 case INFINITE:
20819 case LOGIN:
20820 case MASKED:
20821 case MAXDOP:
20822 case MOVE:
20823 case NOCHECK:
20824 case OBJECT:
20825 case OFF:
20826 case ONLINE:
20827 case OVER:
20828 case PAGE:
20829 case PAUSED:
20830 case PERIOD:
20831 case PERSISTED:
20832 case PRECEDING:
20833 case RANDOMIZED:
20834 case RANGE:
20835 case REBUILD:
20836 case REPLICATE:
20837 case REPLICATION:
20838 case RESUMABLE:
20839 case ROWGUIDCOL:
20840 case SAVE:
20841 case SELF:
20842 case SPARSE:
20843 case SWITCH:
20844 case TRAN:
20845 case TRANCOUNT:
20846 case CONTROL:
20847 case CONCAT:
20848 case TAKE:
20849 case OWNERSHIP:
20850 case DEFINITION:
20851 case APPLICATION:
20852 case ASSEMBLY:
20853 case SYMMETRIC:
20854 case ASYMMETRIC:
20855 case SERVER:
20856 case RECEIVE:
20857 case CHANGE:
20858 case TRACE:
20859 case TRACKING:
20860 case RESOURCES:
20861 case SETTINGS:
20862 case STATE:
20863 case AVAILABILITY:
20864 case CREDENTIAL:
20865 case ENDPOINT:
20866 case EVENT:
20867 case NOTIFICATION:
20868 case LINKED:
20869 case AUDIT:
20870 case DDL:
20871 case XML:
20872 case IMPERSONATE:
20873 case SECURABLES:
20874 case AUTHENTICATE:
20875 case EXTERNAL:
20876 case ACCESS:
20877 case ADMINISTER:
20878 case BULK:
20879 case OPERATIONS:
20880 case UNSAFE:
20881 case SHUTDOWN:
20882 case SCOPED:
20883 case CONFIGURATION:
20884 case DATASPACE:
20885 case SERVICE:
20886 case CERTIFICATE:
20887 case CONTRACT:
20888 case ENCRYPTION:
20889 case MASTER:
20890 case DATA:
20891 case SOURCE:
20892 case FILE:
20893 case FORMAT:
20894 case LIBRARY:
20895 case FULLTEXT:
20896 case MASK:
20897 case UNMASK:
20898 case MESSAGE:
20899 case REMOTE:
20900 case BINDING:
20901 case ROUTE:
20902 case SECURITY:
20903 case POLICY:
20904 case AGGREGATE:
20905 case QUEUE:
20906 case RULE:
20907 case SYNONYM:
20908 case COLLECTION:
20909 case SCRIPT:
20910 case KILL:
20911 case BACKUP:
20912 case LOG:
20913 case SHOWPLAN:
20914 case SUBSCRIBE:
20915 case QUERY:
20916 case NOTIFICATIONS:
20917 case CHECKPOINT:
20918 case SEQUENCE:
20919 case ABORT_AFTER_WAIT:
20920 case ALLOW_PAGE_LOCKS:
20921 case ALLOW_ROW_LOCKS:
20922 case ALL_SPARSE_COLUMNS:
20923 case BUCKET_COUNT:
20924 case COLUMNSTORE_ARCHIVE:
20925 case COLUMN_ENCRYPTION_KEY:
20926 case COLUMN_SET:
20927 case COMPRESSION_DELAY:
20928 case DATABASE_DEAULT:
20929 case DATA_COMPRESSION:
20930 case DATA_CONSISTENCY_CHECK:
20931 case ENCRYPTION_TYPE:
20932 case SYSTEM_TIME:
20933 case SYSTEM_VERSIONING:
20934 case TEXTIMAGE_ON:
20935 case WAIT_AT_LOW_PRIORITY:
20936 case STATISTICS_INCREMENTAL:
20937 case STATISTICS_NORECOMPUTE:
20938 case ROUND_ROBIN:
20939 case SCHEMA_AND_DATA:
20940 case SCHEMA_ONLY:
20941 case SORT_IN_TEMPDB:
20942 case IGNORE_DUP_KEY:
20943 case IMPLICIT_TRANSACTIONS:
20944 case MAX_DURATION:
20945 case MEMORY_OPTIMIZED:
20946 case MIGRATION_STATE:
20947 case PAD_INDEX:
20948 case REMOTE_DATA_ARCHIVE:
20949 case FILESTREAM_ON:
20950 case FILETABLE_COLLATE_FILENAME:
20951 case FILETABLE_DIRECTORY:
20952 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
20953 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
20954 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
20955 case FILTER_PREDICATE:
20956 case HISTORY_RETENTION_PERIOD:
20957 case HISTORY_TABLE:
20958 case LOCK_ESCALATION:
20959 case DROP_EXISTING:
20960 case ROW_NUMBER:
20961 case FIRST:
20962 case DATETIME2:
20963 case OUTPUT:
20964 case INSERTED:
20965 case DELETED:
20966 case FILENAME:
20967 case MAXSIZE:
20968 case FILEGROWTH:
20969 case UNLIMITED:
20970 case KB:
20971 case MB:
20972 case GB:
20973 case TB:
20974 case MEMORY_OPTIMIZED_DATA:
20975 case FILEGROUP:
20976 case NON_TRANSACTED_ACCESS:
20977 case DB_CHAINING:
20978 case TRUSTWORTHY:
20979 case FORWARD_ONLY:
20980 case KEYSET:
20981 case FAST_FORWARD:
20982 case SCROLL_LOCKS:
20983 case OPTIMISTIC:
20984 case TYPE_WARNING:
20985 case SCHEMABINDING:
20986 case CALLER:
20987 case OWNER:
20988 case SNAPSHOT:
20989 case REPEATABLE:
20990 case SERIALIZABLE:
20991 case NATIVE_COMPILATION:
20992 case VIEW_METADATA:
20993 case INSTEAD:
20994 case APPEND:
20995 case INCREMENT:
20996 case CACHE:
20997 case MINVALUE:
20998 case MAXVALUE:
20999 case RESTART:
21000 case LOB_COMPACTION:
21001 case COMPRESS_ALL_ROW_GROUPS:
21002 case REORGANIZE:
21003 case RESUME:
21004 case PAUSE:
21005 case ABORT:
21006 case ACCELERATED_DATABASE_RECOVERY:
21007 case PERSISTENT_VERSION_STORE_FILEGROUP:
21008 case IMMEDIATE:
21009 case NO_WAIT:
21010 case TARGET_RECOVERY_TIME:
21011 case SECONDS:
21012 case HONOR_BROKER_PRIORITY:
21013 case ERROR_BROKER_CONVERSATIONS:
21014 case NEW_BROKER:
21015 case DISABLE_BROKER:
21016 case ENABLE_BROKER:
21017 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
21018 case READ_COMMITTED_SNAPSHOT:
21019 case ALLOW_SNAPSHOT_ISOLATION:
21020 case RECURSIVE_TRIGGERS:
21021 case QUOTED_IDENTIFIER:
21022 case NUMERIC_ROUNDABORT:
21023 case CONCAT_NULL_YIELDS_NULL:
21024 case COMPATIBILITY_LEVEL:
21025 case ARITHABORT:
21026 case ANSI_WARNINGS:
21027 case ANSI_PADDING:
21028 case ANSI_NULLS:
21029 case ANSI_NULL_DEFAULT:
21030 case PAGE_VERIFY:
21031 case CHECKSUM:
21032 case TORN_PAGE_DETECTION:
21033 case BULK_LOGGED:
21034 case RECOVERY:
21035 case TOTAL_EXECUTION_CPU_TIME_MS:
21036 case TOTAL_COMPILE_CPU_TIME_MS:
21037 case STALE_CAPTURE_POLICY_THRESHOLD:
21038 case EXECUTION_COUNT:
21039 case QUERY_CAPTURE_POLICY:
21040 case WAIT_STATS_CAPTURE_MODE:
21041 case MAX_PLANS_PER_QUERY:
21042 case QUERY_CAPTURE_MODE:
21043 case SIZE_BASED_CLEANUP_MODE:
21044 case INTERVAL_LENGTH_MINUTES:
21045 case MAX_STORAGE_SIZE_MB:
21046 case DATA_FLUSH_INTERVAL_SECONDS:
21047 case CLEANUP_POLICY:
21048 case CUSTOM:
21049 case STALE_QUERY_THRESHOLD_DAYS:
21050 case OPERATION_MODE:
21051 case QUERY_STORE:
21052 case CURSOR_DEFAULT:
21053 case GLOBAL:
21054 case CURSOR_CLOSE_ON_COMMIT:
21055 case HOURS:
21056 case CHANGE_RETENTION:
21057 case AUTO_CLEANUP:
21058 case CHANGE_TRACKING:
21059 case AUTOMATIC_TUNING:
21060 case FORCE_LAST_GOOD_PLAN:
21061 case AUTO_UPDATE_STATISTICS_ASYNC:
21062 case AUTO_UPDATE_STATISTICS:
21063 case AUTO_SHRINK:
21064 case AUTO_CREATE_STATISTICS:
21065 case INCREMENTAL:
21066 case AUTO_CLOSE:
21067 case DATA_RETENTION:
21068 case TEMPORAL_HISTORY_RETENTION:
21069 case EDITION:
21070 case MIXED_PAGE_ALLOCATION:
21071 case DISABLED:
21072 case ALLOWED:
21073 case HADR:
21074 case MULTI_USER:
21075 case RESTRICTED_USER:
21076 case SINGLE_USER:
21077 case OFFLINE:
21078 case EMERGENCY:
21079 case SUSPEND:
21080 case DATE_CORRELATION_OPTIMIZATION:
21081 case ELASTIC_POOL:
21082 case SERVICE_OBJECTIVE:
21083 case DATABASE_NAME:
21084 case ALLOW_CONNECTIONS:
21085 case GEO:
21086 case NAMED:
21087 case DATEFIRST:
21088 case BACKUP_STORAGE_REDUNDANCY:
21089 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
21090 case SECONDARY:
21091 case FAILOVER:
21092 case DEFAULT_FULLTEXT_LANGUAGE:
21093 case DEFAULT_LANGUAGE:
21094 case INLINE:
21095 case NESTED_TRIGGERS:
21096 case TRANSFORM_NOISE_WORDS:
21097 case TWO_DIGIT_YEAR_CUTOFF:
21098 case PERSISTENT_LOG_BUFFER:
21099 case DIRECTORY_NAME:
21100 case DATEFORMAT:
21101 case DELAYED_DURABILITY:
21102 case AUTHORIZATION:
21103 case TRANSFER:
21104 case SEARCH:
21105 case MEMBER:
21106 case IDENTIFIER_:
21107 case DELIMITED_IDENTIFIER_:
21108 {
21109 setState(3027);
21110 constraintName();
21111 }
21112 break;
21113 default:
21114 throw new NoViableAltException(this);
21115 }
21116 }
21117 }
21118 catch (RecognitionException re) {
21119 _localctx.exception = re;
21120 _errHandler.reportError(this, re);
21121 _errHandler.recover(this, re);
21122 }
21123 finally {
21124 exitRule();
21125 }
21126 return _localctx;
21127 }
21128
21129 public static class AlterTableTriggerContext extends ParserRuleContext {
21130 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
21131 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
21132 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
21133 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
21134 public IgnoredIdentifiersContext ignoredIdentifiers() {
21135 return getRuleContext(IgnoredIdentifiersContext.class,0);
21136 }
21137 public AlterTableTriggerContext(ParserRuleContext parent, int invokingState) {
21138 super(parent, invokingState);
21139 }
21140 @Override public int getRuleIndex() { return RULE_alterTableTrigger; }
21141 @Override
21142 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21143 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableTrigger(this);
21144 else return visitor.visitChildren(this);
21145 }
21146 }
21147
21148 public final AlterTableTriggerContext alterTableTrigger() throws RecognitionException {
21149 AlterTableTriggerContext _localctx = new AlterTableTriggerContext(_ctx, getState());
21150 enterRule(_localctx, 446, RULE_alterTableTrigger);
21151 int _la;
21152 try {
21153 enterOuterAlt(_localctx, 1);
21154 {
21155 setState(3030);
21156 _la = _input.LA(1);
21157 if ( !(_la==ENABLE || _la==DISABLE) ) {
21158 _errHandler.recoverInline(this);
21159 }
21160 else {
21161 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21162 _errHandler.reportMatch(this);
21163 consume();
21164 }
21165 setState(3031);
21166 match(TRIGGER);
21167 setState(3034);
21168 _errHandler.sync(this);
21169 switch (_input.LA(1)) {
21170 case ALL:
21171 {
21172 setState(3032);
21173 match(ALL);
21174 }
21175 break;
21176 case IDENTIFIER_:
21177 {
21178 setState(3033);
21179 ignoredIdentifiers();
21180 }
21181 break;
21182 default:
21183 throw new NoViableAltException(this);
21184 }
21185 }
21186 }
21187 catch (RecognitionException re) {
21188 _localctx.exception = re;
21189 _errHandler.reportError(this, re);
21190 _errHandler.recover(this, re);
21191 }
21192 finally {
21193 exitRule();
21194 }
21195 return _localctx;
21196 }
21197
21198 public static class AlterSwitchContext extends ParserRuleContext {
21199 public TerminalNode SWITCH() { return getToken(SQLServerStatementParser.SWITCH, 0); }
21200 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
21201 public TableNameContext tableName() {
21202 return getRuleContext(TableNameContext.class,0);
21203 }
21204 public List<TerminalNode> PARTITION() { return getTokens(SQLServerStatementParser.PARTITION); }
21205 public TerminalNode PARTITION(int i) {
21206 return getToken(SQLServerStatementParser.PARTITION, i);
21207 }
21208 public List<ExprContext> expr() {
21209 return getRuleContexts(ExprContext.class);
21210 }
21211 public ExprContext expr(int i) {
21212 return getRuleContext(ExprContext.class,i);
21213 }
21214 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
21215 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
21216 public LowPriorityLockWaitContext lowPriorityLockWait() {
21217 return getRuleContext(LowPriorityLockWaitContext.class,0);
21218 }
21219 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
21220 public AlterSwitchContext(ParserRuleContext parent, int invokingState) {
21221 super(parent, invokingState);
21222 }
21223 @Override public int getRuleIndex() { return RULE_alterSwitch; }
21224 @Override
21225 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21226 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSwitch(this);
21227 else return visitor.visitChildren(this);
21228 }
21229 }
21230
21231 public final AlterSwitchContext alterSwitch() throws RecognitionException {
21232 AlterSwitchContext _localctx = new AlterSwitchContext(_ctx, getState());
21233 enterRule(_localctx, 448, RULE_alterSwitch);
21234 int _la;
21235 try {
21236 enterOuterAlt(_localctx, 1);
21237 {
21238 setState(3036);
21239 match(SWITCH);
21240 setState(3039);
21241 _errHandler.sync(this);
21242 _la = _input.LA(1);
21243 if (_la==PARTITION) {
21244 {
21245 setState(3037);
21246 match(PARTITION);
21247 setState(3038);
21248 expr(0);
21249 }
21250 }
21251
21252 setState(3041);
21253 match(TO);
21254 setState(3042);
21255 tableName();
21256 setState(3045);
21257 _errHandler.sync(this);
21258 _la = _input.LA(1);
21259 if (_la==PARTITION) {
21260 {
21261 setState(3043);
21262 match(PARTITION);
21263 setState(3044);
21264 expr(0);
21265 }
21266 }
21267
21268 setState(3052);
21269 _errHandler.sync(this);
21270 switch ( getInterpreter().adaptivePredict(_input,270,_ctx) ) {
21271 case 1:
21272 {
21273 setState(3047);
21274 match(WITH);
21275 setState(3048);
21276 match(LP_);
21277 setState(3049);
21278 lowPriorityLockWait();
21279 setState(3050);
21280 match(RP_);
21281 }
21282 break;
21283 }
21284 }
21285 }
21286 catch (RecognitionException re) {
21287 _localctx.exception = re;
21288 _errHandler.reportError(this, re);
21289 _errHandler.recover(this, re);
21290 }
21291 finally {
21292 exitRule();
21293 }
21294 return _localctx;
21295 }
21296
21297 public static class AlterSetContext extends ParserRuleContext {
21298 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
21299 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
21300 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
21301 public SetFileStreamClauseContext setFileStreamClause() {
21302 return getRuleContext(SetFileStreamClauseContext.class,0);
21303 }
21304 public SetSystemVersionClauseContext setSystemVersionClause() {
21305 return getRuleContext(SetSystemVersionClauseContext.class,0);
21306 }
21307 public AlterSetContext(ParserRuleContext parent, int invokingState) {
21308 super(parent, invokingState);
21309 }
21310 @Override public int getRuleIndex() { return RULE_alterSet; }
21311 @Override
21312 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21313 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSet(this);
21314 else return visitor.visitChildren(this);
21315 }
21316 }
21317
21318 public final AlterSetContext alterSet() throws RecognitionException {
21319 AlterSetContext _localctx = new AlterSetContext(_ctx, getState());
21320 enterRule(_localctx, 450, RULE_alterSet);
21321 try {
21322 enterOuterAlt(_localctx, 1);
21323 {
21324 setState(3054);
21325 match(SET);
21326 setState(3055);
21327 match(LP_);
21328 setState(3058);
21329 _errHandler.sync(this);
21330 switch (_input.LA(1)) {
21331 case FILESTREAM_ON:
21332 {
21333 setState(3056);
21334 setFileStreamClause();
21335 }
21336 break;
21337 case SYSTEM_VERSIONING:
21338 {
21339 setState(3057);
21340 setSystemVersionClause();
21341 }
21342 break;
21343 default:
21344 throw new NoViableAltException(this);
21345 }
21346 setState(3060);
21347 match(RP_);
21348 }
21349 }
21350 catch (RecognitionException re) {
21351 _localctx.exception = re;
21352 _errHandler.reportError(this, re);
21353 _errHandler.recover(this, re);
21354 }
21355 finally {
21356 exitRule();
21357 }
21358 return _localctx;
21359 }
21360
21361 public static class SetFileStreamClauseContext extends ParserRuleContext {
21362 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
21363 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
21364 public SchemaNameContext schemaName() {
21365 return getRuleContext(SchemaNameContext.class,0);
21366 }
21367 public IgnoredIdentifierContext ignoredIdentifier() {
21368 return getRuleContext(IgnoredIdentifierContext.class,0);
21369 }
21370 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
21371 public SetFileStreamClauseContext(ParserRuleContext parent, int invokingState) {
21372 super(parent, invokingState);
21373 }
21374 @Override public int getRuleIndex() { return RULE_setFileStreamClause; }
21375 @Override
21376 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21377 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetFileStreamClause(this);
21378 else return visitor.visitChildren(this);
21379 }
21380 }
21381
21382 public final SetFileStreamClauseContext setFileStreamClause() throws RecognitionException {
21383 SetFileStreamClauseContext _localctx = new SetFileStreamClauseContext(_ctx, getState());
21384 enterRule(_localctx, 452, RULE_setFileStreamClause);
21385 try {
21386 enterOuterAlt(_localctx, 1);
21387 {
21388 setState(3062);
21389 match(FILESTREAM_ON);
21390 setState(3063);
21391 match(EQ_);
21392 setState(3067);
21393 _errHandler.sync(this);
21394 switch ( getInterpreter().adaptivePredict(_input,272,_ctx) ) {
21395 case 1:
21396 {
21397 setState(3064);
21398 schemaName();
21399 }
21400 break;
21401 case 2:
21402 {
21403 setState(3065);
21404 ignoredIdentifier();
21405 }
21406 break;
21407 case 3:
21408 {
21409 setState(3066);
21410 match(STRING_);
21411 }
21412 break;
21413 }
21414 }
21415 }
21416 catch (RecognitionException re) {
21417 _localctx.exception = re;
21418 _errHandler.reportError(this, re);
21419 _errHandler.recover(this, re);
21420 }
21421 finally {
21422 exitRule();
21423 }
21424 return _localctx;
21425 }
21426
21427 public static class SetSystemVersionClauseContext extends ParserRuleContext {
21428 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
21429 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
21430 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
21431 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
21432 public AlterSetOnClauseContext alterSetOnClause() {
21433 return getRuleContext(AlterSetOnClauseContext.class,0);
21434 }
21435 public SetSystemVersionClauseContext(ParserRuleContext parent, int invokingState) {
21436 super(parent, invokingState);
21437 }
21438 @Override public int getRuleIndex() { return RULE_setSystemVersionClause; }
21439 @Override
21440 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21441 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetSystemVersionClause(this);
21442 else return visitor.visitChildren(this);
21443 }
21444 }
21445
21446 public final SetSystemVersionClauseContext setSystemVersionClause() throws RecognitionException {
21447 SetSystemVersionClauseContext _localctx = new SetSystemVersionClauseContext(_ctx, getState());
21448 enterRule(_localctx, 454, RULE_setSystemVersionClause);
21449 int _la;
21450 try {
21451 enterOuterAlt(_localctx, 1);
21452 {
21453 setState(3069);
21454 match(SYSTEM_VERSIONING);
21455 setState(3070);
21456 match(EQ_);
21457 setState(3076);
21458 _errHandler.sync(this);
21459 switch (_input.LA(1)) {
21460 case OFF:
21461 {
21462 setState(3071);
21463 match(OFF);
21464 }
21465 break;
21466 case ON:
21467 {
21468 setState(3072);
21469 match(ON);
21470 setState(3074);
21471 _errHandler.sync(this);
21472 _la = _input.LA(1);
21473 if (_la==LP_) {
21474 {
21475 setState(3073);
21476 alterSetOnClause();
21477 }
21478 }
21479
21480 }
21481 break;
21482 default:
21483 throw new NoViableAltException(this);
21484 }
21485 }
21486 }
21487 catch (RecognitionException re) {
21488 _localctx.exception = re;
21489 _errHandler.reportError(this, re);
21490 _errHandler.recover(this, re);
21491 }
21492 finally {
21493 exitRule();
21494 }
21495 return _localctx;
21496 }
21497
21498 public static class AlterSetOnClauseContext extends ParserRuleContext {
21499 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
21500 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
21501 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
21502 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
21503 public TableNameContext tableName() {
21504 return getRuleContext(TableNameContext.class,0);
21505 }
21506 public DataConsistencyCheckClauseContext dataConsistencyCheckClause() {
21507 return getRuleContext(DataConsistencyCheckClauseContext.class,0);
21508 }
21509 public HistoryRetentionPeriodClauseContext historyRetentionPeriodClause() {
21510 return getRuleContext(HistoryRetentionPeriodClauseContext.class,0);
21511 }
21512 public AlterSetOnClauseContext(ParserRuleContext parent, int invokingState) {
21513 super(parent, invokingState);
21514 }
21515 @Override public int getRuleIndex() { return RULE_alterSetOnClause; }
21516 @Override
21517 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21518 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterSetOnClause(this);
21519 else return visitor.visitChildren(this);
21520 }
21521 }
21522
21523 public final AlterSetOnClauseContext alterSetOnClause() throws RecognitionException {
21524 AlterSetOnClauseContext _localctx = new AlterSetOnClauseContext(_ctx, getState());
21525 enterRule(_localctx, 456, RULE_alterSetOnClause);
21526 int _la;
21527 try {
21528 enterOuterAlt(_localctx, 1);
21529 {
21530 setState(3078);
21531 match(LP_);
21532 setState(3082);
21533 _errHandler.sync(this);
21534 _la = _input.LA(1);
21535 if (_la==HISTORY_TABLE) {
21536 {
21537 setState(3079);
21538 match(HISTORY_TABLE);
21539 setState(3080);
21540 match(EQ_);
21541 setState(3081);
21542 tableName();
21543 }
21544 }
21545
21546 setState(3085);
21547 _errHandler.sync(this);
21548 switch ( getInterpreter().adaptivePredict(_input,276,_ctx) ) {
21549 case 1:
21550 {
21551 setState(3084);
21552 dataConsistencyCheckClause();
21553 }
21554 break;
21555 }
21556 setState(3088);
21557 _errHandler.sync(this);
21558 _la = _input.LA(1);
21559 if (_la==COMMA_ || _la==HISTORY_RETENTION_PERIOD) {
21560 {
21561 setState(3087);
21562 historyRetentionPeriodClause();
21563 }
21564 }
21565
21566 setState(3090);
21567 match(RP_);
21568 }
21569 }
21570 catch (RecognitionException re) {
21571 _localctx.exception = re;
21572 _errHandler.reportError(this, re);
21573 _errHandler.recover(this, re);
21574 }
21575 finally {
21576 exitRule();
21577 }
21578 return _localctx;
21579 }
21580
21581 public static class DataConsistencyCheckClauseContext extends ParserRuleContext {
21582 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
21583 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
21584 public OnOffOptionContext onOffOption() {
21585 return getRuleContext(OnOffOptionContext.class,0);
21586 }
21587 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
21588 public DataConsistencyCheckClauseContext(ParserRuleContext parent, int invokingState) {
21589 super(parent, invokingState);
21590 }
21591 @Override public int getRuleIndex() { return RULE_dataConsistencyCheckClause; }
21592 @Override
21593 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21594 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDataConsistencyCheckClause(this);
21595 else return visitor.visitChildren(this);
21596 }
21597 }
21598
21599 public final DataConsistencyCheckClauseContext dataConsistencyCheckClause() throws RecognitionException {
21600 DataConsistencyCheckClauseContext _localctx = new DataConsistencyCheckClauseContext(_ctx, getState());
21601 enterRule(_localctx, 458, RULE_dataConsistencyCheckClause);
21602 int _la;
21603 try {
21604 enterOuterAlt(_localctx, 1);
21605 {
21606 setState(3093);
21607 _errHandler.sync(this);
21608 _la = _input.LA(1);
21609 if (_la==COMMA_) {
21610 {
21611 setState(3092);
21612 match(COMMA_);
21613 }
21614 }
21615
21616 setState(3095);
21617 match(DATA_CONSISTENCY_CHECK);
21618 setState(3096);
21619 match(EQ_);
21620 setState(3097);
21621 onOffOption();
21622 }
21623 }
21624 catch (RecognitionException re) {
21625 _localctx.exception = re;
21626 _errHandler.reportError(this, re);
21627 _errHandler.recover(this, re);
21628 }
21629 finally {
21630 exitRule();
21631 }
21632 return _localctx;
21633 }
21634
21635 public static class HistoryRetentionPeriodClauseContext extends ParserRuleContext {
21636 public TerminalNode HISTORY_RETENTION_PERIOD() { return getToken(SQLServerStatementParser.HISTORY_RETENTION_PERIOD, 0); }
21637 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
21638 public HistoryRetentionPeriodContext historyRetentionPeriod() {
21639 return getRuleContext(HistoryRetentionPeriodContext.class,0);
21640 }
21641 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
21642 public HistoryRetentionPeriodClauseContext(ParserRuleContext parent, int invokingState) {
21643 super(parent, invokingState);
21644 }
21645 @Override public int getRuleIndex() { return RULE_historyRetentionPeriodClause; }
21646 @Override
21647 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21648 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHistoryRetentionPeriodClause(this);
21649 else return visitor.visitChildren(this);
21650 }
21651 }
21652
21653 public final HistoryRetentionPeriodClauseContext historyRetentionPeriodClause() throws RecognitionException {
21654 HistoryRetentionPeriodClauseContext _localctx = new HistoryRetentionPeriodClauseContext(_ctx, getState());
21655 enterRule(_localctx, 460, RULE_historyRetentionPeriodClause);
21656 int _la;
21657 try {
21658 enterOuterAlt(_localctx, 1);
21659 {
21660 setState(3100);
21661 _errHandler.sync(this);
21662 _la = _input.LA(1);
21663 if (_la==COMMA_) {
21664 {
21665 setState(3099);
21666 match(COMMA_);
21667 }
21668 }
21669
21670 setState(3102);
21671 match(HISTORY_RETENTION_PERIOD);
21672 setState(3103);
21673 match(EQ_);
21674 setState(3104);
21675 historyRetentionPeriod();
21676 }
21677 }
21678 catch (RecognitionException re) {
21679 _localctx.exception = re;
21680 _errHandler.reportError(this, re);
21681 _errHandler.recover(this, re);
21682 }
21683 finally {
21684 exitRule();
21685 }
21686 return _localctx;
21687 }
21688
21689 public static class HistoryRetentionPeriodContext extends ParserRuleContext {
21690 public TerminalNode INFINITE() { return getToken(SQLServerStatementParser.INFINITE, 0); }
21691 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
21692 public TerminalNode DAY() { return getToken(SQLServerStatementParser.DAY, 0); }
21693 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
21694 public TerminalNode WEEK() { return getToken(SQLServerStatementParser.WEEK, 0); }
21695 public TerminalNode WEEKS() { return getToken(SQLServerStatementParser.WEEKS, 0); }
21696 public TerminalNode MONTH() { return getToken(SQLServerStatementParser.MONTH, 0); }
21697 public TerminalNode MONTHS() { return getToken(SQLServerStatementParser.MONTHS, 0); }
21698 public TerminalNode YEAR() { return getToken(SQLServerStatementParser.YEAR, 0); }
21699 public TerminalNode YEARS() { return getToken(SQLServerStatementParser.YEARS, 0); }
21700 public HistoryRetentionPeriodContext(ParserRuleContext parent, int invokingState) {
21701 super(parent, invokingState);
21702 }
21703 @Override public int getRuleIndex() { return RULE_historyRetentionPeriod; }
21704 @Override
21705 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21706 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHistoryRetentionPeriod(this);
21707 else return visitor.visitChildren(this);
21708 }
21709 }
21710
21711 public final HistoryRetentionPeriodContext historyRetentionPeriod() throws RecognitionException {
21712 HistoryRetentionPeriodContext _localctx = new HistoryRetentionPeriodContext(_ctx, getState());
21713 enterRule(_localctx, 462, RULE_historyRetentionPeriod);
21714 int _la;
21715 try {
21716 setState(3109);
21717 _errHandler.sync(this);
21718 switch (_input.LA(1)) {
21719 case INFINITE:
21720 enterOuterAlt(_localctx, 1);
21721 {
21722 setState(3106);
21723 match(INFINITE);
21724 }
21725 break;
21726 case NUMBER_:
21727 enterOuterAlt(_localctx, 2);
21728 {
21729 {
21730 setState(3107);
21731 match(NUMBER_);
21732 setState(3108);
21733 _la = _input.LA(1);
21734 if ( !(((((_la - 138)) & ~0x3f) == 0 && ((1L << (_la - 138)) & ((1L << (YEAR - 138)) | (1L << (MONTH - 138)) | (1L << (WEEK - 138)) | (1L << (DAY - 138)))) != 0) || ((((_la - 247)) & ~0x3f) == 0 && ((1L << (_la - 247)) & ((1L << (YEARS - 247)) | (1L << (MONTHS - 247)) | (1L << (WEEKS - 247)) | (1L << (DAYS - 247)))) != 0)) ) {
21735 _errHandler.recoverInline(this);
21736 }
21737 else {
21738 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
21739 _errHandler.reportMatch(this);
21740 consume();
21741 }
21742 }
21743 }
21744 break;
21745 default:
21746 throw new NoViableAltException(this);
21747 }
21748 }
21749 catch (RecognitionException re) {
21750 _localctx.exception = re;
21751 _errHandler.reportError(this, re);
21752 _errHandler.recover(this, re);
21753 }
21754 finally {
21755 exitRule();
21756 }
21757 return _localctx;
21758 }
21759
21760 public static class AlterTableTableIndexContext extends ParserRuleContext {
21761 public IndexWithNameContext indexWithName() {
21762 return getRuleContext(IndexWithNameContext.class,0);
21763 }
21764 public IndexNonClusterClauseContext indexNonClusterClause() {
21765 return getRuleContext(IndexNonClusterClauseContext.class,0);
21766 }
21767 public IndexClusterClauseContext indexClusterClause() {
21768 return getRuleContext(IndexClusterClauseContext.class,0);
21769 }
21770 public AlterTableTableIndexContext(ParserRuleContext parent, int invokingState) {
21771 super(parent, invokingState);
21772 }
21773 @Override public int getRuleIndex() { return RULE_alterTableTableIndex; }
21774 @Override
21775 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21776 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableTableIndex(this);
21777 else return visitor.visitChildren(this);
21778 }
21779 }
21780
21781 public final AlterTableTableIndexContext alterTableTableIndex() throws RecognitionException {
21782 AlterTableTableIndexContext _localctx = new AlterTableTableIndexContext(_ctx, getState());
21783 enterRule(_localctx, 464, RULE_alterTableTableIndex);
21784 try {
21785 enterOuterAlt(_localctx, 1);
21786 {
21787 setState(3111);
21788 indexWithName();
21789 setState(3114);
21790 _errHandler.sync(this);
21791 switch (_input.LA(1)) {
21792 case NONCLUSTERED:
21793 {
21794 setState(3112);
21795 indexNonClusterClause();
21796 }
21797 break;
21798 case CLUSTERED:
21799 {
21800 setState(3113);
21801 indexClusterClause();
21802 }
21803 break;
21804 default:
21805 throw new NoViableAltException(this);
21806 }
21807 }
21808 }
21809 catch (RecognitionException re) {
21810 _localctx.exception = re;
21811 _errHandler.reportError(this, re);
21812 _errHandler.recover(this, re);
21813 }
21814 finally {
21815 exitRule();
21816 }
21817 return _localctx;
21818 }
21819
21820 public static class IndexWithNameContext extends ParserRuleContext {
21821 public TerminalNode INDEX() { return getToken(SQLServerStatementParser.INDEX, 0); }
21822 public IndexNameContext indexName() {
21823 return getRuleContext(IndexNameContext.class,0);
21824 }
21825 public IndexWithNameContext(ParserRuleContext parent, int invokingState) {
21826 super(parent, invokingState);
21827 }
21828 @Override public int getRuleIndex() { return RULE_indexWithName; }
21829 @Override
21830 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21831 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexWithName(this);
21832 else return visitor.visitChildren(this);
21833 }
21834 }
21835
21836 public final IndexWithNameContext indexWithName() throws RecognitionException {
21837 IndexWithNameContext _localctx = new IndexWithNameContext(_ctx, getState());
21838 enterRule(_localctx, 466, RULE_indexWithName);
21839 try {
21840 enterOuterAlt(_localctx, 1);
21841 {
21842 setState(3116);
21843 match(INDEX);
21844 setState(3117);
21845 indexName();
21846 }
21847 }
21848 catch (RecognitionException re) {
21849 _localctx.exception = re;
21850 _errHandler.reportError(this, re);
21851 _errHandler.recover(this, re);
21852 }
21853 finally {
21854 exitRule();
21855 }
21856 return _localctx;
21857 }
21858
21859 public static class IndexNonClusterClauseContext extends ParserRuleContext {
21860 public TerminalNode NONCLUSTERED() { return getToken(SQLServerStatementParser.NONCLUSTERED, 0); }
21861 public HashWithBucketContext hashWithBucket() {
21862 return getRuleContext(HashWithBucketContext.class,0);
21863 }
21864 public ColumnNamesWithSortContext columnNamesWithSort() {
21865 return getRuleContext(ColumnNamesWithSortContext.class,0);
21866 }
21867 public AlterTableIndexOnClauseContext alterTableIndexOnClause() {
21868 return getRuleContext(AlterTableIndexOnClauseContext.class,0);
21869 }
21870 public IndexNonClusterClauseContext(ParserRuleContext parent, int invokingState) {
21871 super(parent, invokingState);
21872 }
21873 @Override public int getRuleIndex() { return RULE_indexNonClusterClause; }
21874 @Override
21875 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21876 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexNonClusterClause(this);
21877 else return visitor.visitChildren(this);
21878 }
21879 }
21880
21881 public final IndexNonClusterClauseContext indexNonClusterClause() throws RecognitionException {
21882 IndexNonClusterClauseContext _localctx = new IndexNonClusterClauseContext(_ctx, getState());
21883 enterRule(_localctx, 468, RULE_indexNonClusterClause);
21884 int _la;
21885 try {
21886 enterOuterAlt(_localctx, 1);
21887 {
21888 setState(3119);
21889 match(NONCLUSTERED);
21890 setState(3125);
21891 _errHandler.sync(this);
21892 switch (_input.LA(1)) {
21893 case HASH:
21894 {
21895 setState(3120);
21896 hashWithBucket();
21897 }
21898 break;
21899 case LP_:
21900 {
21901 setState(3121);
21902 columnNamesWithSort();
21903 setState(3123);
21904 _errHandler.sync(this);
21905 _la = _input.LA(1);
21906 if (_la==ON || _la==DEFAULT) {
21907 {
21908 setState(3122);
21909 alterTableIndexOnClause();
21910 }
21911 }
21912
21913 }
21914 break;
21915 default:
21916 throw new NoViableAltException(this);
21917 }
21918 }
21919 }
21920 catch (RecognitionException re) {
21921 _localctx.exception = re;
21922 _errHandler.reportError(this, re);
21923 _errHandler.recover(this, re);
21924 }
21925 finally {
21926 exitRule();
21927 }
21928 return _localctx;
21929 }
21930
21931 public static class AlterTableIndexOnClauseContext extends ParserRuleContext {
21932 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
21933 public IgnoredIdentifierContext ignoredIdentifier() {
21934 return getRuleContext(IgnoredIdentifierContext.class,0);
21935 }
21936 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
21937 public AlterTableIndexOnClauseContext(ParserRuleContext parent, int invokingState) {
21938 super(parent, invokingState);
21939 }
21940 @Override public int getRuleIndex() { return RULE_alterTableIndexOnClause; }
21941 @Override
21942 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
21943 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableIndexOnClause(this);
21944 else return visitor.visitChildren(this);
21945 }
21946 }
21947
21948 public final AlterTableIndexOnClauseContext alterTableIndexOnClause() throws RecognitionException {
21949 AlterTableIndexOnClauseContext _localctx = new AlterTableIndexOnClauseContext(_ctx, getState());
21950 enterRule(_localctx, 470, RULE_alterTableIndexOnClause);
21951 try {
21952 setState(3130);
21953 _errHandler.sync(this);
21954 switch (_input.LA(1)) {
21955 case ON:
21956 enterOuterAlt(_localctx, 1);
21957 {
21958 setState(3127);
21959 match(ON);
21960 setState(3128);
21961 ignoredIdentifier();
21962 }
21963 break;
21964 case DEFAULT:
21965 enterOuterAlt(_localctx, 2);
21966 {
21967 setState(3129);
21968 match(DEFAULT);
21969 }
21970 break;
21971 default:
21972 throw new NoViableAltException(this);
21973 }
21974 }
21975 catch (RecognitionException re) {
21976 _localctx.exception = re;
21977 _errHandler.reportError(this, re);
21978 _errHandler.recover(this, re);
21979 }
21980 finally {
21981 exitRule();
21982 }
21983 return _localctx;
21984 }
21985
21986 public static class IndexClusterClauseContext extends ParserRuleContext {
21987 public TerminalNode CLUSTERED() { return getToken(SQLServerStatementParser.CLUSTERED, 0); }
21988 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
21989 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
21990 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
21991 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
21992 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
21993 public IndexOnClauseContext indexOnClause() {
21994 return getRuleContext(IndexOnClauseContext.class,0);
21995 }
21996 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
21997 public IndexClusterClauseContext(ParserRuleContext parent, int invokingState) {
21998 super(parent, invokingState);
21999 }
22000 @Override public int getRuleIndex() { return RULE_indexClusterClause; }
22001 @Override
22002 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22003 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIndexClusterClause(this);
22004 else return visitor.visitChildren(this);
22005 }
22006 }
22007
22008 public final IndexClusterClauseContext indexClusterClause() throws RecognitionException {
22009 IndexClusterClauseContext _localctx = new IndexClusterClauseContext(_ctx, getState());
22010 enterRule(_localctx, 472, RULE_indexClusterClause);
22011 int _la;
22012 try {
22013 enterOuterAlt(_localctx, 1);
22014 {
22015 setState(3132);
22016 match(CLUSTERED);
22017 setState(3133);
22018 match(COLUMNSTORE);
22019 setState(3141);
22020 _errHandler.sync(this);
22021 switch ( getInterpreter().adaptivePredict(_input,286,_ctx) ) {
22022 case 1:
22023 {
22024 setState(3134);
22025 match(WITH);
22026 setState(3135);
22027 match(COMPRESSION_DELAY);
22028 setState(3136);
22029 match(EQ_);
22030 setState(3137);
22031 match(NUMBER_);
22032 setState(3139);
22033 _errHandler.sync(this);
22034 _la = _input.LA(1);
22035 if (_la==MINUTES) {
22036 {
22037 setState(3138);
22038 match(MINUTES);
22039 }
22040 }
22041
22042 }
22043 break;
22044 }
22045 setState(3144);
22046 _errHandler.sync(this);
22047 _la = _input.LA(1);
22048 if (_la==ON) {
22049 {
22050 setState(3143);
22051 indexOnClause();
22052 }
22053 }
22054
22055 }
22056 }
22057 catch (RecognitionException re) {
22058 _localctx.exception = re;
22059 _errHandler.reportError(this, re);
22060 _errHandler.recover(this, re);
22061 }
22062 finally {
22063 exitRule();
22064 }
22065 return _localctx;
22066 }
22067
22068 public static class AlterTableOptionContext extends ParserRuleContext {
22069 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
22070 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22071 public TerminalNode LOCK_ESCALATION() { return getToken(SQLServerStatementParser.LOCK_ESCALATION, 0); }
22072 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22073 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22074 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
22075 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
22076 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
22077 public TerminalNode MEMORY_OPTIMIZED() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED, 0); }
22078 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
22079 public TerminalNode DURABILITY() { return getToken(SQLServerStatementParser.DURABILITY, 0); }
22080 public TerminalNode SCHEMA_ONLY() { return getToken(SQLServerStatementParser.SCHEMA_ONLY, 0); }
22081 public TerminalNode SCHEMA_AND_DATA() { return getToken(SQLServerStatementParser.SCHEMA_AND_DATA, 0); }
22082 public TerminalNode SYSTEM_VERSIONING() { return getToken(SQLServerStatementParser.SYSTEM_VERSIONING, 0); }
22083 public OnHistoryTableClauseContext onHistoryTableClause() {
22084 return getRuleContext(OnHistoryTableClauseContext.class,0);
22085 }
22086 public AlterTableOptionContext(ParserRuleContext parent, int invokingState) {
22087 super(parent, invokingState);
22088 }
22089 @Override public int getRuleIndex() { return RULE_alterTableOption; }
22090 @Override
22091 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22092 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterTableOption(this);
22093 else return visitor.visitChildren(this);
22094 }
22095 }
22096
22097 public final AlterTableOptionContext alterTableOption() throws RecognitionException {
22098 AlterTableOptionContext _localctx = new AlterTableOptionContext(_ctx, getState());
22099 enterRule(_localctx, 474, RULE_alterTableOption);
22100 int _la;
22101 try {
22102 setState(3164);
22103 _errHandler.sync(this);
22104 switch (_input.LA(1)) {
22105 case SET:
22106 enterOuterAlt(_localctx, 1);
22107 {
22108 setState(3146);
22109 match(SET);
22110 setState(3147);
22111 match(LP_);
22112 setState(3148);
22113 match(LOCK_ESCALATION);
22114 setState(3149);
22115 match(EQ_);
22116 setState(3150);
22117 _la = _input.LA(1);
22118 if ( !(_la==TABLE || _la==DISABLE || _la==AUTO) ) {
22119 _errHandler.recoverInline(this);
22120 }
22121 else {
22122 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22123 _errHandler.reportMatch(this);
22124 consume();
22125 }
22126 setState(3151);
22127 match(RP_);
22128 }
22129 break;
22130 case MEMORY_OPTIMIZED:
22131 enterOuterAlt(_localctx, 2);
22132 {
22133 setState(3152);
22134 match(MEMORY_OPTIMIZED);
22135 setState(3153);
22136 match(EQ_);
22137 setState(3154);
22138 match(ON);
22139 }
22140 break;
22141 case DURABILITY:
22142 enterOuterAlt(_localctx, 3);
22143 {
22144 setState(3155);
22145 match(DURABILITY);
22146 setState(3156);
22147 match(EQ_);
22148 setState(3157);
22149 _la = _input.LA(1);
22150 if ( !(_la==SCHEMA_AND_DATA || _la==SCHEMA_ONLY) ) {
22151 _errHandler.recoverInline(this);
22152 }
22153 else {
22154 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22155 _errHandler.reportMatch(this);
22156 consume();
22157 }
22158 }
22159 break;
22160 case SYSTEM_VERSIONING:
22161 enterOuterAlt(_localctx, 4);
22162 {
22163 setState(3158);
22164 match(SYSTEM_VERSIONING);
22165 setState(3159);
22166 match(EQ_);
22167 setState(3160);
22168 match(ON);
22169 setState(3162);
22170 _errHandler.sync(this);
22171 _la = _input.LA(1);
22172 if (_la==LP_) {
22173 {
22174 setState(3161);
22175 onHistoryTableClause();
22176 }
22177 }
22178
22179 }
22180 break;
22181 default:
22182 throw new NoViableAltException(this);
22183 }
22184 }
22185 catch (RecognitionException re) {
22186 _localctx.exception = re;
22187 _errHandler.reportError(this, re);
22188 _errHandler.recover(this, re);
22189 }
22190 finally {
22191 exitRule();
22192 }
22193 return _localctx;
22194 }
22195
22196 public static class OnHistoryTableClauseContext extends ParserRuleContext {
22197 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22198 public TerminalNode HISTORY_TABLE() { return getToken(SQLServerStatementParser.HISTORY_TABLE, 0); }
22199 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
22200 public TerminalNode EQ_(int i) {
22201 return getToken(SQLServerStatementParser.EQ_, i);
22202 }
22203 public TableNameContext tableName() {
22204 return getRuleContext(TableNameContext.class,0);
22205 }
22206 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22207 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
22208 public TerminalNode DATA_CONSISTENCY_CHECK() { return getToken(SQLServerStatementParser.DATA_CONSISTENCY_CHECK, 0); }
22209 public OnOffOptionContext onOffOption() {
22210 return getRuleContext(OnOffOptionContext.class,0);
22211 }
22212 public OnHistoryTableClauseContext(ParserRuleContext parent, int invokingState) {
22213 super(parent, invokingState);
22214 }
22215 @Override public int getRuleIndex() { return RULE_onHistoryTableClause; }
22216 @Override
22217 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22218 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnHistoryTableClause(this);
22219 else return visitor.visitChildren(this);
22220 }
22221 }
22222
22223 public final OnHistoryTableClauseContext onHistoryTableClause() throws RecognitionException {
22224 OnHistoryTableClauseContext _localctx = new OnHistoryTableClauseContext(_ctx, getState());
22225 enterRule(_localctx, 476, RULE_onHistoryTableClause);
22226 int _la;
22227 try {
22228 enterOuterAlt(_localctx, 1);
22229 {
22230 setState(3166);
22231 match(LP_);
22232 setState(3167);
22233 match(HISTORY_TABLE);
22234 setState(3168);
22235 match(EQ_);
22236 setState(3169);
22237 tableName();
22238 setState(3174);
22239 _errHandler.sync(this);
22240 _la = _input.LA(1);
22241 if (_la==COMMA_) {
22242 {
22243 setState(3170);
22244 match(COMMA_);
22245 setState(3171);
22246 match(DATA_CONSISTENCY_CHECK);
22247 setState(3172);
22248 match(EQ_);
22249 setState(3173);
22250 onOffOption();
22251 }
22252 }
22253
22254 setState(3176);
22255 match(RP_);
22256 }
22257 }
22258 catch (RecognitionException re) {
22259 _localctx.exception = re;
22260 _errHandler.reportError(this, re);
22261 _errHandler.recover(this, re);
22262 }
22263 finally {
22264 exitRule();
22265 }
22266 return _localctx;
22267 }
22268
22269 public static class CreateDatabaseClauseContext extends ParserRuleContext {
22270 public TerminalNode CONTAINMENT() { return getToken(SQLServerStatementParser.CONTAINMENT, 0); }
22271 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22272 public FileDefinitionClauseContext fileDefinitionClause() {
22273 return getRuleContext(FileDefinitionClauseContext.class,0);
22274 }
22275 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
22276 public IgnoredIdentifierContext ignoredIdentifier() {
22277 return getRuleContext(IgnoredIdentifierContext.class,0);
22278 }
22279 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
22280 public List<DatabaseOptionContext> databaseOption() {
22281 return getRuleContexts(DatabaseOptionContext.class);
22282 }
22283 public DatabaseOptionContext databaseOption(int i) {
22284 return getRuleContext(DatabaseOptionContext.class,i);
22285 }
22286 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
22287 public TerminalNode PARTIAL() { return getToken(SQLServerStatementParser.PARTIAL, 0); }
22288 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22289 public TerminalNode COMMA_(int i) {
22290 return getToken(SQLServerStatementParser.COMMA_, i);
22291 }
22292 public CreateDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
22293 super(parent, invokingState);
22294 }
22295 @Override public int getRuleIndex() { return RULE_createDatabaseClause; }
22296 @Override
22297 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22298 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateDatabaseClause(this);
22299 else return visitor.visitChildren(this);
22300 }
22301 }
22302
22303 public final CreateDatabaseClauseContext createDatabaseClause() throws RecognitionException {
22304 CreateDatabaseClauseContext _localctx = new CreateDatabaseClauseContext(_ctx, getState());
22305 enterRule(_localctx, 478, RULE_createDatabaseClause);
22306 int _la;
22307 try {
22308 enterOuterAlt(_localctx, 1);
22309 {
22310 setState(3181);
22311 _errHandler.sync(this);
22312 _la = _input.LA(1);
22313 if (_la==CONTAINMENT) {
22314 {
22315 setState(3178);
22316 match(CONTAINMENT);
22317 setState(3179);
22318 match(EQ_);
22319 setState(3180);
22320 _la = _input.LA(1);
22321 if ( !(_la==NONE || _la==PARTIAL) ) {
22322 _errHandler.recoverInline(this);
22323 }
22324 else {
22325 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22326 _errHandler.reportMatch(this);
22327 consume();
22328 }
22329 }
22330 }
22331
22332 setState(3184);
22333 _errHandler.sync(this);
22334 _la = _input.LA(1);
22335 if (_la==ON) {
22336 {
22337 setState(3183);
22338 fileDefinitionClause();
22339 }
22340 }
22341
22342 setState(3188);
22343 _errHandler.sync(this);
22344 _la = _input.LA(1);
22345 if (_la==COLLATE) {
22346 {
22347 setState(3186);
22348 match(COLLATE);
22349 setState(3187);
22350 ignoredIdentifier();
22351 }
22352 }
22353
22354 setState(3199);
22355 _errHandler.sync(this);
22356 _la = _input.LA(1);
22357 if (_la==WITH) {
22358 {
22359 setState(3190);
22360 match(WITH);
22361 setState(3191);
22362 databaseOption();
22363 setState(3196);
22364 _errHandler.sync(this);
22365 _la = _input.LA(1);
22366 while (_la==COMMA_) {
22367 {
22368 {
22369 setState(3192);
22370 match(COMMA_);
22371 setState(3193);
22372 databaseOption();
22373 }
22374 }
22375 setState(3198);
22376 _errHandler.sync(this);
22377 _la = _input.LA(1);
22378 }
22379 }
22380 }
22381
22382 }
22383 }
22384 catch (RecognitionException re) {
22385 _localctx.exception = re;
22386 _errHandler.reportError(this, re);
22387 _errHandler.recover(this, re);
22388 }
22389 finally {
22390 exitRule();
22391 }
22392 return _localctx;
22393 }
22394
22395 public static class FileDefinitionClauseContext extends ParserRuleContext {
22396 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
22397 public List<FileSpecContext> fileSpec() {
22398 return getRuleContexts(FileSpecContext.class);
22399 }
22400 public FileSpecContext fileSpec(int i) {
22401 return getRuleContext(FileSpecContext.class,i);
22402 }
22403 public DatabaseLogOnsContext databaseLogOns() {
22404 return getRuleContext(DatabaseLogOnsContext.class,0);
22405 }
22406 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
22407 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22408 public TerminalNode COMMA_(int i) {
22409 return getToken(SQLServerStatementParser.COMMA_, i);
22410 }
22411 public List<DatabaseFileGroupContext> databaseFileGroup() {
22412 return getRuleContexts(DatabaseFileGroupContext.class);
22413 }
22414 public DatabaseFileGroupContext databaseFileGroup(int i) {
22415 return getRuleContext(DatabaseFileGroupContext.class,i);
22416 }
22417 public FileDefinitionClauseContext(ParserRuleContext parent, int invokingState) {
22418 super(parent, invokingState);
22419 }
22420 @Override public int getRuleIndex() { return RULE_fileDefinitionClause; }
22421 @Override
22422 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22423 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileDefinitionClause(this);
22424 else return visitor.visitChildren(this);
22425 }
22426 }
22427
22428 public final FileDefinitionClauseContext fileDefinitionClause() throws RecognitionException {
22429 FileDefinitionClauseContext _localctx = new FileDefinitionClauseContext(_ctx, getState());
22430 enterRule(_localctx, 480, RULE_fileDefinitionClause);
22431 int _la;
22432 try {
22433 int _alt;
22434 enterOuterAlt(_localctx, 1);
22435 {
22436 setState(3201);
22437 match(ON);
22438 setState(3203);
22439 _errHandler.sync(this);
22440 _la = _input.LA(1);
22441 if (_la==PRIMARY) {
22442 {
22443 setState(3202);
22444 match(PRIMARY);
22445 }
22446 }
22447
22448 setState(3205);
22449 fileSpec();
22450 setState(3210);
22451 _errHandler.sync(this);
22452 _alt = getInterpreter().adaptivePredict(_input,297,_ctx);
22453 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
22454 if ( _alt==1 ) {
22455 {
22456 {
22457 setState(3206);
22458 match(COMMA_);
22459 setState(3207);
22460 fileSpec();
22461 }
22462 }
22463 }
22464 setState(3212);
22465 _errHandler.sync(this);
22466 _alt = getInterpreter().adaptivePredict(_input,297,_ctx);
22467 }
22468 setState(3217);
22469 _errHandler.sync(this);
22470 _la = _input.LA(1);
22471 while (_la==COMMA_) {
22472 {
22473 {
22474 setState(3213);
22475 match(COMMA_);
22476 setState(3214);
22477 databaseFileGroup();
22478 }
22479 }
22480 setState(3219);
22481 _errHandler.sync(this);
22482 _la = _input.LA(1);
22483 }
22484 setState(3220);
22485 databaseLogOns();
22486 }
22487 }
22488 catch (RecognitionException re) {
22489 _localctx.exception = re;
22490 _errHandler.reportError(this, re);
22491 _errHandler.recover(this, re);
22492 }
22493 finally {
22494 exitRule();
22495 }
22496 return _localctx;
22497 }
22498
22499 public static class DatabaseOptionContext extends ParserRuleContext {
22500 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
22501 public List<FileStreamOptionContext> fileStreamOption() {
22502 return getRuleContexts(FileStreamOptionContext.class);
22503 }
22504 public FileStreamOptionContext fileStreamOption(int i) {
22505 return getRuleContext(FileStreamOptionContext.class,i);
22506 }
22507 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22508 public TerminalNode COMMA_(int i) {
22509 return getToken(SQLServerStatementParser.COMMA_, i);
22510 }
22511 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
22512 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
22513 public TerminalNode EQ_(int i) {
22514 return getToken(SQLServerStatementParser.EQ_, i);
22515 }
22516 public IgnoredIdentifierContext ignoredIdentifier() {
22517 return getRuleContext(IgnoredIdentifierContext.class,0);
22518 }
22519 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
22520 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
22521 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
22522 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
22523 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
22524 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
22525 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
22526 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
22527 public TerminalNode PERSISTENT_LOG_BUFFER() { return getToken(SQLServerStatementParser.PERSISTENT_LOG_BUFFER, 0); }
22528 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
22529 public DatabaseOptionContext(ParserRuleContext parent, int invokingState) {
22530 super(parent, invokingState);
22531 }
22532 @Override public int getRuleIndex() { return RULE_databaseOption; }
22533 @Override
22534 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22535 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseOption(this);
22536 else return visitor.visitChildren(this);
22537 }
22538 }
22539
22540 public final DatabaseOptionContext databaseOption() throws RecognitionException {
22541 DatabaseOptionContext _localctx = new DatabaseOptionContext(_ctx, getState());
22542 enterRule(_localctx, 482, RULE_databaseOption);
22543 int _la;
22544 try {
22545 int _alt;
22546 setState(3256);
22547 _errHandler.sync(this);
22548 switch (_input.LA(1)) {
22549 case FILESTREAM:
22550 enterOuterAlt(_localctx, 1);
22551 {
22552 setState(3222);
22553 match(FILESTREAM);
22554 setState(3223);
22555 fileStreamOption();
22556 setState(3228);
22557 _errHandler.sync(this);
22558 _alt = getInterpreter().adaptivePredict(_input,299,_ctx);
22559 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
22560 if ( _alt==1 ) {
22561 {
22562 {
22563 setState(3224);
22564 match(COMMA_);
22565 setState(3225);
22566 fileStreamOption();
22567 }
22568 }
22569 }
22570 setState(3230);
22571 _errHandler.sync(this);
22572 _alt = getInterpreter().adaptivePredict(_input,299,_ctx);
22573 }
22574 }
22575 break;
22576 case DEFAULT_FULLTEXT_LANGUAGE:
22577 enterOuterAlt(_localctx, 2);
22578 {
22579 setState(3231);
22580 match(DEFAULT_FULLTEXT_LANGUAGE);
22581 setState(3232);
22582 match(EQ_);
22583 setState(3233);
22584 ignoredIdentifier();
22585 }
22586 break;
22587 case DEFAULT_LANGUAGE:
22588 enterOuterAlt(_localctx, 3);
22589 {
22590 setState(3234);
22591 match(DEFAULT_LANGUAGE);
22592 setState(3235);
22593 match(EQ_);
22594 setState(3236);
22595 ignoredIdentifier();
22596 }
22597 break;
22598 case NESTED_TRIGGERS:
22599 enterOuterAlt(_localctx, 4);
22600 {
22601 setState(3237);
22602 match(NESTED_TRIGGERS);
22603 setState(3238);
22604 match(EQ_);
22605 setState(3239);
22606 _la = _input.LA(1);
22607 if ( !(_la==ON || _la==OFF) ) {
22608 _errHandler.recoverInline(this);
22609 }
22610 else {
22611 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22612 _errHandler.reportMatch(this);
22613 consume();
22614 }
22615 }
22616 break;
22617 case TRANSFORM_NOISE_WORDS:
22618 enterOuterAlt(_localctx, 5);
22619 {
22620 setState(3240);
22621 match(TRANSFORM_NOISE_WORDS);
22622 setState(3241);
22623 match(EQ_);
22624 setState(3242);
22625 _la = _input.LA(1);
22626 if ( !(_la==ON || _la==OFF) ) {
22627 _errHandler.recoverInline(this);
22628 }
22629 else {
22630 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22631 _errHandler.reportMatch(this);
22632 consume();
22633 }
22634 }
22635 break;
22636 case TWO_DIGIT_YEAR_CUTOFF:
22637 enterOuterAlt(_localctx, 6);
22638 {
22639 setState(3243);
22640 match(TWO_DIGIT_YEAR_CUTOFF);
22641 setState(3244);
22642 match(EQ_);
22643 setState(3245);
22644 ignoredIdentifier();
22645 }
22646 break;
22647 case DB_CHAINING:
22648 enterOuterAlt(_localctx, 7);
22649 {
22650 setState(3246);
22651 match(DB_CHAINING);
22652 setState(3247);
22653 _la = _input.LA(1);
22654 if ( !(_la==ON || _la==OFF) ) {
22655 _errHandler.recoverInline(this);
22656 }
22657 else {
22658 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22659 _errHandler.reportMatch(this);
22660 consume();
22661 }
22662 }
22663 break;
22664 case TRUSTWORTHY:
22665 enterOuterAlt(_localctx, 8);
22666 {
22667 setState(3248);
22668 match(TRUSTWORTHY);
22669 setState(3249);
22670 _la = _input.LA(1);
22671 if ( !(_la==ON || _la==OFF) ) {
22672 _errHandler.recoverInline(this);
22673 }
22674 else {
22675 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22676 _errHandler.reportMatch(this);
22677 consume();
22678 }
22679 }
22680 break;
22681 case PERSISTENT_LOG_BUFFER:
22682 enterOuterAlt(_localctx, 9);
22683 {
22684 setState(3250);
22685 match(PERSISTENT_LOG_BUFFER);
22686 setState(3251);
22687 match(EQ_);
22688 setState(3252);
22689 match(ON);
22690 {
22691 setState(3253);
22692 match(DIRECTORY_NAME);
22693 setState(3254);
22694 match(EQ_);
22695 setState(3255);
22696 ignoredIdentifier();
22697 }
22698 }
22699 break;
22700 default:
22701 throw new NoViableAltException(this);
22702 }
22703 }
22704 catch (RecognitionException re) {
22705 _localctx.exception = re;
22706 _errHandler.reportError(this, re);
22707 _errHandler.recover(this, re);
22708 }
22709 finally {
22710 exitRule();
22711 }
22712 return _localctx;
22713 }
22714
22715 public static class FileStreamOptionContext extends ParserRuleContext {
22716 public TerminalNode NON_TRANSACTED_ACCESS() { return getToken(SQLServerStatementParser.NON_TRANSACTED_ACCESS, 0); }
22717 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
22718 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
22719 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
22720 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
22721 public TerminalNode DIRECTORY_NAME() { return getToken(SQLServerStatementParser.DIRECTORY_NAME, 0); }
22722 public IgnoredIdentifierContext ignoredIdentifier() {
22723 return getRuleContext(IgnoredIdentifierContext.class,0);
22724 }
22725 public FileStreamOptionContext(ParserRuleContext parent, int invokingState) {
22726 super(parent, invokingState);
22727 }
22728 @Override public int getRuleIndex() { return RULE_fileStreamOption; }
22729 @Override
22730 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22731 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileStreamOption(this);
22732 else return visitor.visitChildren(this);
22733 }
22734 }
22735
22736 public final FileStreamOptionContext fileStreamOption() throws RecognitionException {
22737 FileStreamOptionContext _localctx = new FileStreamOptionContext(_ctx, getState());
22738 enterRule(_localctx, 484, RULE_fileStreamOption);
22739 int _la;
22740 try {
22741 setState(3264);
22742 _errHandler.sync(this);
22743 switch (_input.LA(1)) {
22744 case NON_TRANSACTED_ACCESS:
22745 enterOuterAlt(_localctx, 1);
22746 {
22747 setState(3258);
22748 match(NON_TRANSACTED_ACCESS);
22749 setState(3259);
22750 match(EQ_);
22751 setState(3260);
22752 _la = _input.LA(1);
22753 if ( !(_la==FULL || _la==READ_ONLY || _la==OFF) ) {
22754 _errHandler.recoverInline(this);
22755 }
22756 else {
22757 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22758 _errHandler.reportMatch(this);
22759 consume();
22760 }
22761 }
22762 break;
22763 case DIRECTORY_NAME:
22764 enterOuterAlt(_localctx, 2);
22765 {
22766 setState(3261);
22767 match(DIRECTORY_NAME);
22768 setState(3262);
22769 match(EQ_);
22770 setState(3263);
22771 ignoredIdentifier();
22772 }
22773 break;
22774 default:
22775 throw new NoViableAltException(this);
22776 }
22777 }
22778 catch (RecognitionException re) {
22779 _localctx.exception = re;
22780 _errHandler.reportError(this, re);
22781 _errHandler.recover(this, re);
22782 }
22783 finally {
22784 exitRule();
22785 }
22786 return _localctx;
22787 }
22788
22789 public static class FileSpecContext extends ParserRuleContext {
22790 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
22791 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
22792 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
22793 public TerminalNode EQ_(int i) {
22794 return getToken(SQLServerStatementParser.EQ_, i);
22795 }
22796 public IgnoredIdentifierContext ignoredIdentifier() {
22797 return getRuleContext(IgnoredIdentifierContext.class,0);
22798 }
22799 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
22800 public TerminalNode FILENAME() { return getToken(SQLServerStatementParser.FILENAME, 0); }
22801 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
22802 public DatabaseFileSpecOptionContext databaseFileSpecOption() {
22803 return getRuleContext(DatabaseFileSpecOptionContext.class,0);
22804 }
22805 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
22806 public FileSpecContext(ParserRuleContext parent, int invokingState) {
22807 super(parent, invokingState);
22808 }
22809 @Override public int getRuleIndex() { return RULE_fileSpec; }
22810 @Override
22811 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22812 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileSpec(this);
22813 else return visitor.visitChildren(this);
22814 }
22815 }
22816
22817 public final FileSpecContext fileSpec() throws RecognitionException {
22818 FileSpecContext _localctx = new FileSpecContext(_ctx, getState());
22819 enterRule(_localctx, 486, RULE_fileSpec);
22820 try {
22821 enterOuterAlt(_localctx, 1);
22822 {
22823 setState(3266);
22824 match(LP_);
22825 setState(3267);
22826 match(NAME);
22827 setState(3268);
22828 match(EQ_);
22829 setState(3269);
22830 ignoredIdentifier();
22831 setState(3270);
22832 match(COMMA_);
22833 setState(3271);
22834 match(FILENAME);
22835 setState(3272);
22836 match(EQ_);
22837 setState(3273);
22838 match(STRING_);
22839 setState(3274);
22840 databaseFileSpecOption();
22841 setState(3275);
22842 match(RP_);
22843 }
22844 }
22845 catch (RecognitionException re) {
22846 _localctx.exception = re;
22847 _errHandler.reportError(this, re);
22848 _errHandler.recover(this, re);
22849 }
22850 finally {
22851 exitRule();
22852 }
22853 return _localctx;
22854 }
22855
22856 public static class DatabaseFileSpecOptionContext extends ParserRuleContext {
22857 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
22858 public TerminalNode COMMA_(int i) {
22859 return getToken(SQLServerStatementParser.COMMA_, i);
22860 }
22861 public TerminalNode SIZE() { return getToken(SQLServerStatementParser.SIZE, 0); }
22862 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
22863 public TerminalNode EQ_(int i) {
22864 return getToken(SQLServerStatementParser.EQ_, i);
22865 }
22866 public List<NumberLiteralsContext> numberLiterals() {
22867 return getRuleContexts(NumberLiteralsContext.class);
22868 }
22869 public NumberLiteralsContext numberLiterals(int i) {
22870 return getRuleContext(NumberLiteralsContext.class,i);
22871 }
22872 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
22873 public TerminalNode FILEGROWTH() { return getToken(SQLServerStatementParser.FILEGROWTH, 0); }
22874 public TerminalNode UNLIMITED() { return getToken(SQLServerStatementParser.UNLIMITED, 0); }
22875 public List<TerminalNode> KB() { return getTokens(SQLServerStatementParser.KB); }
22876 public TerminalNode KB(int i) {
22877 return getToken(SQLServerStatementParser.KB, i);
22878 }
22879 public List<TerminalNode> MB() { return getTokens(SQLServerStatementParser.MB); }
22880 public TerminalNode MB(int i) {
22881 return getToken(SQLServerStatementParser.MB, i);
22882 }
22883 public List<TerminalNode> GB() { return getTokens(SQLServerStatementParser.GB); }
22884 public TerminalNode GB(int i) {
22885 return getToken(SQLServerStatementParser.GB, i);
22886 }
22887 public List<TerminalNode> TB() { return getTokens(SQLServerStatementParser.TB); }
22888 public TerminalNode TB(int i) {
22889 return getToken(SQLServerStatementParser.TB, i);
22890 }
22891 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
22892 public DatabaseFileSpecOptionContext(ParserRuleContext parent, int invokingState) {
22893 super(parent, invokingState);
22894 }
22895 @Override public int getRuleIndex() { return RULE_databaseFileSpecOption; }
22896 @Override
22897 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
22898 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileSpecOption(this);
22899 else return visitor.visitChildren(this);
22900 }
22901 }
22902
22903 public final DatabaseFileSpecOptionContext databaseFileSpecOption() throws RecognitionException {
22904 DatabaseFileSpecOptionContext _localctx = new DatabaseFileSpecOptionContext(_ctx, getState());
22905 enterRule(_localctx, 488, RULE_databaseFileSpecOption);
22906 int _la;
22907 try {
22908 enterOuterAlt(_localctx, 1);
22909 {
22910 setState(3284);
22911 _errHandler.sync(this);
22912 switch ( getInterpreter().adaptivePredict(_input,303,_ctx) ) {
22913 case 1:
22914 {
22915 setState(3277);
22916 match(COMMA_);
22917 setState(3278);
22918 match(SIZE);
22919 setState(3279);
22920 match(EQ_);
22921 setState(3280);
22922 numberLiterals();
22923 setState(3282);
22924 _errHandler.sync(this);
22925 _la = _input.LA(1);
22926 if (((((_la - 483)) & ~0x3f) == 0 && ((1L << (_la - 483)) & ((1L << (KB - 483)) | (1L << (MB - 483)) | (1L << (GB - 483)) | (1L << (TB - 483)))) != 0)) {
22927 {
22928 setState(3281);
22929 _la = _input.LA(1);
22930 if ( !(((((_la - 483)) & ~0x3f) == 0 && ((1L << (_la - 483)) & ((1L << (KB - 483)) | (1L << (MB - 483)) | (1L << (GB - 483)) | (1L << (TB - 483)))) != 0)) ) {
22931 _errHandler.recoverInline(this);
22932 }
22933 else {
22934 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22935 _errHandler.reportMatch(this);
22936 consume();
22937 }
22938 }
22939 }
22940
22941 }
22942 break;
22943 }
22944 setState(3296);
22945 _errHandler.sync(this);
22946 switch ( getInterpreter().adaptivePredict(_input,306,_ctx) ) {
22947 case 1:
22948 {
22949 setState(3286);
22950 match(COMMA_);
22951 setState(3287);
22952 match(MAXSIZE);
22953 setState(3288);
22954 match(EQ_);
22955 setState(3294);
22956 _errHandler.sync(this);
22957 switch (_input.LA(1)) {
22958 case PLUS_:
22959 case MINUS_:
22960 case NUMBER_:
22961 {
22962 setState(3289);
22963 numberLiterals();
22964 setState(3291);
22965 _errHandler.sync(this);
22966 _la = _input.LA(1);
22967 if (((((_la - 483)) & ~0x3f) == 0 && ((1L << (_la - 483)) & ((1L << (KB - 483)) | (1L << (MB - 483)) | (1L << (GB - 483)) | (1L << (TB - 483)))) != 0)) {
22968 {
22969 setState(3290);
22970 _la = _input.LA(1);
22971 if ( !(((((_la - 483)) & ~0x3f) == 0 && ((1L << (_la - 483)) & ((1L << (KB - 483)) | (1L << (MB - 483)) | (1L << (GB - 483)) | (1L << (TB - 483)))) != 0)) ) {
22972 _errHandler.recoverInline(this);
22973 }
22974 else {
22975 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
22976 _errHandler.reportMatch(this);
22977 consume();
22978 }
22979 }
22980 }
22981
22982 }
22983 break;
22984 case UNLIMITED:
22985 {
22986 setState(3293);
22987 match(UNLIMITED);
22988 }
22989 break;
22990 default:
22991 throw new NoViableAltException(this);
22992 }
22993 }
22994 break;
22995 }
22996 setState(3305);
22997 _errHandler.sync(this);
22998 _la = _input.LA(1);
22999 if (_la==COMMA_) {
23000 {
23001 setState(3298);
23002 match(COMMA_);
23003 setState(3299);
23004 match(FILEGROWTH);
23005 setState(3300);
23006 match(EQ_);
23007 setState(3301);
23008 numberLiterals();
23009 setState(3303);
23010 _errHandler.sync(this);
23011 _la = _input.LA(1);
23012 if (_la==MOD_ || ((((_la - 483)) & ~0x3f) == 0 && ((1L << (_la - 483)) & ((1L << (KB - 483)) | (1L << (MB - 483)) | (1L << (GB - 483)) | (1L << (TB - 483)))) != 0)) {
23013 {
23014 setState(3302);
23015 _la = _input.LA(1);
23016 if ( !(_la==MOD_ || ((((_la - 483)) & ~0x3f) == 0 && ((1L << (_la - 483)) & ((1L << (KB - 483)) | (1L << (MB - 483)) | (1L << (GB - 483)) | (1L << (TB - 483)))) != 0)) ) {
23017 _errHandler.recoverInline(this);
23018 }
23019 else {
23020 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
23021 _errHandler.reportMatch(this);
23022 consume();
23023 }
23024 }
23025 }
23026
23027 }
23028 }
23029
23030 }
23031 }
23032 catch (RecognitionException re) {
23033 _localctx.exception = re;
23034 _errHandler.reportError(this, re);
23035 _errHandler.recover(this, re);
23036 }
23037 finally {
23038 exitRule();
23039 }
23040 return _localctx;
23041 }
23042
23043 public static class DatabaseFileGroupContext extends ParserRuleContext {
23044 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
23045 public IgnoredIdentifierContext ignoredIdentifier() {
23046 return getRuleContext(IgnoredIdentifierContext.class,0);
23047 }
23048 public List<FileSpecContext> fileSpec() {
23049 return getRuleContexts(FileSpecContext.class);
23050 }
23051 public FileSpecContext fileSpec(int i) {
23052 return getRuleContext(FileSpecContext.class,i);
23053 }
23054 public DatabaseFileGroupContainsContext databaseFileGroupContains() {
23055 return getRuleContext(DatabaseFileGroupContainsContext.class,0);
23056 }
23057 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23058 public TerminalNode COMMA_(int i) {
23059 return getToken(SQLServerStatementParser.COMMA_, i);
23060 }
23061 public DatabaseFileGroupContext(ParserRuleContext parent, int invokingState) {
23062 super(parent, invokingState);
23063 }
23064 @Override public int getRuleIndex() { return RULE_databaseFileGroup; }
23065 @Override
23066 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23067 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileGroup(this);
23068 else return visitor.visitChildren(this);
23069 }
23070 }
23071
23072 public final DatabaseFileGroupContext databaseFileGroup() throws RecognitionException {
23073 DatabaseFileGroupContext _localctx = new DatabaseFileGroupContext(_ctx, getState());
23074 enterRule(_localctx, 490, RULE_databaseFileGroup);
23075 try {
23076 int _alt;
23077 enterOuterAlt(_localctx, 1);
23078 {
23079 setState(3307);
23080 match(FILEGROUP);
23081 setState(3308);
23082 ignoredIdentifier();
23083 setState(3310);
23084 _errHandler.sync(this);
23085 switch ( getInterpreter().adaptivePredict(_input,309,_ctx) ) {
23086 case 1:
23087 {
23088 setState(3309);
23089 databaseFileGroupContains();
23090 }
23091 break;
23092 }
23093 setState(3312);
23094 fileSpec();
23095 setState(3317);
23096 _errHandler.sync(this);
23097 _alt = getInterpreter().adaptivePredict(_input,310,_ctx);
23098 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
23099 if ( _alt==1 ) {
23100 {
23101 {
23102 setState(3313);
23103 match(COMMA_);
23104 setState(3314);
23105 fileSpec();
23106 }
23107 }
23108 }
23109 setState(3319);
23110 _errHandler.sync(this);
23111 _alt = getInterpreter().adaptivePredict(_input,310,_ctx);
23112 }
23113 }
23114 }
23115 catch (RecognitionException re) {
23116 _localctx.exception = re;
23117 _errHandler.reportError(this, re);
23118 _errHandler.recover(this, re);
23119 }
23120 finally {
23121 exitRule();
23122 }
23123 return _localctx;
23124 }
23125
23126 public static class DatabaseFileGroupContainsContext extends ParserRuleContext {
23127 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
23128 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
23129 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
23130 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
23131 public DatabaseFileGroupContainsContext(ParserRuleContext parent, int invokingState) {
23132 super(parent, invokingState);
23133 }
23134 @Override public int getRuleIndex() { return RULE_databaseFileGroupContains; }
23135 @Override
23136 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23137 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseFileGroupContains(this);
23138 else return visitor.visitChildren(this);
23139 }
23140 }
23141
23142 public final DatabaseFileGroupContainsContext databaseFileGroupContains() throws RecognitionException {
23143 DatabaseFileGroupContainsContext _localctx = new DatabaseFileGroupContainsContext(_ctx, getState());
23144 enterRule(_localctx, 492, RULE_databaseFileGroupContains);
23145 int _la;
23146 try {
23147 setState(3329);
23148 _errHandler.sync(this);
23149 switch ( getInterpreter().adaptivePredict(_input,313,_ctx) ) {
23150 case 1:
23151 enterOuterAlt(_localctx, 1);
23152 {
23153 setState(3322);
23154 _errHandler.sync(this);
23155 _la = _input.LA(1);
23156 if (_la==CONTAINS) {
23157 {
23158 setState(3320);
23159 match(CONTAINS);
23160 setState(3321);
23161 match(FILESTREAM);
23162 }
23163 }
23164
23165 setState(3325);
23166 _errHandler.sync(this);
23167 _la = _input.LA(1);
23168 if (_la==DEFAULT) {
23169 {
23170 setState(3324);
23171 match(DEFAULT);
23172 }
23173 }
23174
23175 }
23176 break;
23177 case 2:
23178 enterOuterAlt(_localctx, 2);
23179 {
23180 setState(3327);
23181 match(CONTAINS);
23182 setState(3328);
23183 match(MEMORY_OPTIMIZED_DATA);
23184 }
23185 break;
23186 }
23187 }
23188 catch (RecognitionException re) {
23189 _localctx.exception = re;
23190 _errHandler.reportError(this, re);
23191 _errHandler.recover(this, re);
23192 }
23193 finally {
23194 exitRule();
23195 }
23196 return _localctx;
23197 }
23198
23199 public static class DatabaseLogOnsContext extends ParserRuleContext {
23200 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
23201 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
23202 public List<FileSpecContext> fileSpec() {
23203 return getRuleContexts(FileSpecContext.class);
23204 }
23205 public FileSpecContext fileSpec(int i) {
23206 return getRuleContext(FileSpecContext.class,i);
23207 }
23208 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23209 public TerminalNode COMMA_(int i) {
23210 return getToken(SQLServerStatementParser.COMMA_, i);
23211 }
23212 public DatabaseLogOnsContext(ParserRuleContext parent, int invokingState) {
23213 super(parent, invokingState);
23214 }
23215 @Override public int getRuleIndex() { return RULE_databaseLogOns; }
23216 @Override
23217 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23218 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseLogOns(this);
23219 else return visitor.visitChildren(this);
23220 }
23221 }
23222
23223 public final DatabaseLogOnsContext databaseLogOns() throws RecognitionException {
23224 DatabaseLogOnsContext _localctx = new DatabaseLogOnsContext(_ctx, getState());
23225 enterRule(_localctx, 494, RULE_databaseLogOns);
23226 int _la;
23227 try {
23228 enterOuterAlt(_localctx, 1);
23229 {
23230 setState(3341);
23231 _errHandler.sync(this);
23232 _la = _input.LA(1);
23233 if (_la==LOG) {
23234 {
23235 setState(3331);
23236 match(LOG);
23237 setState(3332);
23238 match(ON);
23239 setState(3333);
23240 fileSpec();
23241 setState(3338);
23242 _errHandler.sync(this);
23243 _la = _input.LA(1);
23244 while (_la==COMMA_) {
23245 {
23246 {
23247 setState(3334);
23248 match(COMMA_);
23249 setState(3335);
23250 fileSpec();
23251 }
23252 }
23253 setState(3340);
23254 _errHandler.sync(this);
23255 _la = _input.LA(1);
23256 }
23257 }
23258 }
23259
23260 }
23261 }
23262 catch (RecognitionException re) {
23263 _localctx.exception = re;
23264 _errHandler.reportError(this, re);
23265 _errHandler.recover(this, re);
23266 }
23267 finally {
23268 exitRule();
23269 }
23270 return _localctx;
23271 }
23272
23273 public static class DeclareVariableContext extends ParserRuleContext {
23274 public TerminalNode DECLARE() { return getToken(SQLServerStatementParser.DECLARE, 0); }
23275 public List<VariableContext> variable() {
23276 return getRuleContexts(VariableContext.class);
23277 }
23278 public VariableContext variable(int i) {
23279 return getRuleContext(VariableContext.class,i);
23280 }
23281 public TableVariableContext tableVariable() {
23282 return getRuleContext(TableVariableContext.class,0);
23283 }
23284 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23285 public TerminalNode COMMA_(int i) {
23286 return getToken(SQLServerStatementParser.COMMA_, i);
23287 }
23288 public DeclareVariableContext(ParserRuleContext parent, int invokingState) {
23289 super(parent, invokingState);
23290 }
23291 @Override public int getRuleIndex() { return RULE_declareVariable; }
23292 @Override
23293 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23294 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDeclareVariable(this);
23295 else return visitor.visitChildren(this);
23296 }
23297 }
23298
23299 public final DeclareVariableContext declareVariable() throws RecognitionException {
23300 DeclareVariableContext _localctx = new DeclareVariableContext(_ctx, getState());
23301 enterRule(_localctx, 496, RULE_declareVariable);
23302 int _la;
23303 try {
23304 enterOuterAlt(_localctx, 1);
23305 {
23306 setState(3343);
23307 match(DECLARE);
23308 setState(3353);
23309 _errHandler.sync(this);
23310 switch ( getInterpreter().adaptivePredict(_input,317,_ctx) ) {
23311 case 1:
23312 {
23313 setState(3344);
23314 variable();
23315 setState(3349);
23316 _errHandler.sync(this);
23317 _la = _input.LA(1);
23318 while (_la==COMMA_) {
23319 {
23320 {
23321 setState(3345);
23322 match(COMMA_);
23323 setState(3346);
23324 variable();
23325 }
23326 }
23327 setState(3351);
23328 _errHandler.sync(this);
23329 _la = _input.LA(1);
23330 }
23331 }
23332 break;
23333 case 2:
23334 {
23335 setState(3352);
23336 tableVariable();
23337 }
23338 break;
23339 }
23340 }
23341 }
23342 catch (RecognitionException re) {
23343 _localctx.exception = re;
23344 _errHandler.reportError(this, re);
23345 _errHandler.recover(this, re);
23346 }
23347 finally {
23348 exitRule();
23349 }
23350 return _localctx;
23351 }
23352
23353 public static class VariableContext extends ParserRuleContext {
23354 public VariableNameContext variableName() {
23355 return getRuleContext(VariableNameContext.class,0);
23356 }
23357 public DataTypeContext dataType() {
23358 return getRuleContext(DataTypeContext.class,0);
23359 }
23360 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
23361 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
23362 public SimpleExprContext simpleExpr() {
23363 return getRuleContext(SimpleExprContext.class,0);
23364 }
23365 public TerminalNode CURSOR() { return getToken(SQLServerStatementParser.CURSOR, 0); }
23366 public VariableContext(ParserRuleContext parent, int invokingState) {
23367 super(parent, invokingState);
23368 }
23369 @Override public int getRuleIndex() { return RULE_variable; }
23370 @Override
23371 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23372 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariable(this);
23373 else return visitor.visitChildren(this);
23374 }
23375 }
23376
23377 public final VariableContext variable() throws RecognitionException {
23378 VariableContext _localctx = new VariableContext(_ctx, getState());
23379 enterRule(_localctx, 498, RULE_variable);
23380 int _la;
23381 try {
23382 setState(3367);
23383 _errHandler.sync(this);
23384 switch ( getInterpreter().adaptivePredict(_input,320,_ctx) ) {
23385 case 1:
23386 enterOuterAlt(_localctx, 1);
23387 {
23388 setState(3355);
23389 variableName();
23390 setState(3357);
23391 _errHandler.sync(this);
23392 _la = _input.LA(1);
23393 if (_la==AS) {
23394 {
23395 setState(3356);
23396 match(AS);
23397 }
23398 }
23399
23400 setState(3359);
23401 dataType();
23402 setState(3362);
23403 _errHandler.sync(this);
23404 switch ( getInterpreter().adaptivePredict(_input,319,_ctx) ) {
23405 case 1:
23406 {
23407 setState(3360);
23408 match(EQ_);
23409 setState(3361);
23410 simpleExpr(0);
23411 }
23412 break;
23413 }
23414 }
23415 break;
23416 case 2:
23417 enterOuterAlt(_localctx, 2);
23418 {
23419 setState(3364);
23420 variableName();
23421 setState(3365);
23422 match(CURSOR);
23423 }
23424 break;
23425 }
23426 }
23427 catch (RecognitionException re) {
23428 _localctx.exception = re;
23429 _errHandler.reportError(this, re);
23430 _errHandler.recover(this, re);
23431 }
23432 finally {
23433 exitRule();
23434 }
23435 return _localctx;
23436 }
23437
23438 public static class TableVariableContext extends ParserRuleContext {
23439 public VariableNameContext variableName() {
23440 return getRuleContext(VariableNameContext.class,0);
23441 }
23442 public VariTableTypeDefinitionContext variTableTypeDefinition() {
23443 return getRuleContext(VariTableTypeDefinitionContext.class,0);
23444 }
23445 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
23446 public TableVariableContext(ParserRuleContext parent, int invokingState) {
23447 super(parent, invokingState);
23448 }
23449 @Override public int getRuleIndex() { return RULE_tableVariable; }
23450 @Override
23451 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23452 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableVariable(this);
23453 else return visitor.visitChildren(this);
23454 }
23455 }
23456
23457 public final TableVariableContext tableVariable() throws RecognitionException {
23458 TableVariableContext _localctx = new TableVariableContext(_ctx, getState());
23459 enterRule(_localctx, 500, RULE_tableVariable);
23460 int _la;
23461 try {
23462 enterOuterAlt(_localctx, 1);
23463 {
23464 setState(3369);
23465 variableName();
23466 setState(3371);
23467 _errHandler.sync(this);
23468 _la = _input.LA(1);
23469 if (_la==AS) {
23470 {
23471 setState(3370);
23472 match(AS);
23473 }
23474 }
23475
23476 setState(3373);
23477 variTableTypeDefinition();
23478 }
23479 }
23480 catch (RecognitionException re) {
23481 _localctx.exception = re;
23482 _errHandler.reportError(this, re);
23483 _errHandler.recover(this, re);
23484 }
23485 finally {
23486 exitRule();
23487 }
23488 return _localctx;
23489 }
23490
23491 public static class VariTableTypeDefinitionContext extends ParserRuleContext {
23492 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
23493 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
23494 public List<TableVariableClauseContext> tableVariableClause() {
23495 return getRuleContexts(TableVariableClauseContext.class);
23496 }
23497 public TableVariableClauseContext tableVariableClause(int i) {
23498 return getRuleContext(TableVariableClauseContext.class,i);
23499 }
23500 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
23501 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
23502 public TerminalNode COMMA_(int i) {
23503 return getToken(SQLServerStatementParser.COMMA_, i);
23504 }
23505 public VariTableTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
23506 super(parent, invokingState);
23507 }
23508 @Override public int getRuleIndex() { return RULE_variTableTypeDefinition; }
23509 @Override
23510 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23511 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariTableTypeDefinition(this);
23512 else return visitor.visitChildren(this);
23513 }
23514 }
23515
23516 public final VariTableTypeDefinitionContext variTableTypeDefinition() throws RecognitionException {
23517 VariTableTypeDefinitionContext _localctx = new VariTableTypeDefinitionContext(_ctx, getState());
23518 enterRule(_localctx, 502, RULE_variTableTypeDefinition);
23519 int _la;
23520 try {
23521 enterOuterAlt(_localctx, 1);
23522 {
23523 setState(3375);
23524 match(TABLE);
23525 setState(3376);
23526 match(LP_);
23527 setState(3377);
23528 tableVariableClause();
23529 setState(3382);
23530 _errHandler.sync(this);
23531 _la = _input.LA(1);
23532 while (_la==COMMA_) {
23533 {
23534 {
23535 setState(3378);
23536 match(COMMA_);
23537 setState(3379);
23538 tableVariableClause();
23539 }
23540 }
23541 setState(3384);
23542 _errHandler.sync(this);
23543 _la = _input.LA(1);
23544 }
23545 setState(3385);
23546 match(RP_);
23547 }
23548 }
23549 catch (RecognitionException re) {
23550 _localctx.exception = re;
23551 _errHandler.reportError(this, re);
23552 _errHandler.recover(this, re);
23553 }
23554 finally {
23555 exitRule();
23556 }
23557 return _localctx;
23558 }
23559
23560 public static class TableVariableClauseContext extends ParserRuleContext {
23561 public VariableTableColumnDefinitionContext variableTableColumnDefinition() {
23562 return getRuleContext(VariableTableColumnDefinitionContext.class,0);
23563 }
23564 public VariableTableConstraintContext variableTableConstraint() {
23565 return getRuleContext(VariableTableConstraintContext.class,0);
23566 }
23567 public TableVariableClauseContext(ParserRuleContext parent, int invokingState) {
23568 super(parent, invokingState);
23569 }
23570 @Override public int getRuleIndex() { return RULE_tableVariableClause; }
23571 @Override
23572 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
23573 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableVariableClause(this);
23574 else return visitor.visitChildren(this);
23575 }
23576 }
23577
23578 public final TableVariableClauseContext tableVariableClause() throws RecognitionException {
23579 TableVariableClauseContext _localctx = new TableVariableClauseContext(_ctx, getState());
23580 enterRule(_localctx, 504, RULE_tableVariableClause);
23581 try {
23582 setState(3389);
23583 _errHandler.sync(this);
23584 switch (_input.LA(1)) {
23585 case DOLLAR_:
23586 case TRUNCATE:
23587 case SCHEMA:
23588 case FUNCTION:
23589 case TRIGGER:
23590 case CAST:
23591 case GROUP:
23592 case LIMIT:
23593 case OFFSET:
23594 case SAVEPOINT:
23595 case BOOLEAN:
23596 case ARRAY:
23597 case DATE:
23598 case LOCALTIME:
23599 case LOCALTIMESTAMP:
23600 case QUARTER:
23601 case WEEK:
23602 case DAY:
23603 case MICROSECOND:
23604 case MAX:
23605 case MIN:
23606 case SUM:
23607 case COUNT:
23608 case AVG:
23609 case ENABLE:
23610 case DISABLE:
23611 case INSTANCE:
23612 case DO:
23613 case DEFINER:
23614 case SQL:
23615 case CASCADED:
23616 case LOCAL:
23617 case NEXT:
23618 case NAME:
23619 case INTEGER:
23620 case TYPE:
23621 case READ_ONLY:
23622 case DATABASE:
23623 case DATEPART:
23624 case PASSWORD:
23625 case BINARY:
23626 case HIDDEN_:
23627 case MOD:
23628 case PARTITION:
23629 case PARTITIONS:
23630 case TOP:
23631 case ROW:
23632 case ROWS:
23633 case XOR:
23634 case ALWAYS:
23635 case ROLE:
23636 case START:
23637 case ALGORITHM:
23638 case AUTO:
23639 case BLOCKERS:
23640 case CLUSTERED:
23641 case NONCLUSTERED:
23642 case COLUMNSTORE:
23643 case CONTENT:
23644 case YEARS:
23645 case MONTHS:
23646 case WEEKS:
23647 case DAYS:
23648 case MINUTES:
23649 case DENY:
23650 case DETERMINISTIC:
23651 case DISTRIBUTION:
23652 case DOCUMENT:
23653 case DURABILITY:
23654 case ENCRYPTED:
23655 case FILESTREAM:
23656 case FILETABLE:
23657 case FILLFACTOR:
23658 case FOLLOWING:
23659 case HASH:
23660 case HEAP:
23661 case INBOUND:
23662 case OUTBOUND:
23663 case UNBOUNDED:
23664 case INFINITE:
23665 case LOGIN:
23666 case MASKED:
23667 case MAXDOP:
23668 case MOVE:
23669 case NOCHECK:
23670 case OBJECT:
23671 case OFF:
23672 case ONLINE:
23673 case OVER:
23674 case PAGE:
23675 case PAUSED:
23676 case PERIOD:
23677 case PERSISTED:
23678 case PRECEDING:
23679 case RANDOMIZED:
23680 case RANGE:
23681 case REBUILD:
23682 case REPLICATE:
23683 case REPLICATION:
23684 case RESUMABLE:
23685 case ROWGUIDCOL:
23686 case SAVE:
23687 case SELF:
23688 case SPARSE:
23689 case SWITCH:
23690 case TRAN:
23691 case TRANCOUNT:
23692 case CONTROL:
23693 case CONCAT:
23694 case TAKE:
23695 case OWNERSHIP:
23696 case DEFINITION:
23697 case APPLICATION:
23698 case ASSEMBLY:
23699 case SYMMETRIC:
23700 case ASYMMETRIC:
23701 case SERVER:
23702 case RECEIVE:
23703 case CHANGE:
23704 case TRACE:
23705 case TRACKING:
23706 case RESOURCES:
23707 case SETTINGS:
23708 case STATE:
23709 case AVAILABILITY:
23710 case CREDENTIAL:
23711 case ENDPOINT:
23712 case EVENT:
23713 case NOTIFICATION:
23714 case LINKED:
23715 case AUDIT:
23716 case DDL:
23717 case XML:
23718 case IMPERSONATE:
23719 case SECURABLES:
23720 case AUTHENTICATE:
23721 case EXTERNAL:
23722 case ACCESS:
23723 case ADMINISTER:
23724 case BULK:
23725 case OPERATIONS:
23726 case UNSAFE:
23727 case SHUTDOWN:
23728 case SCOPED:
23729 case CONFIGURATION:
23730 case DATASPACE:
23731 case SERVICE:
23732 case CERTIFICATE:
23733 case CONTRACT:
23734 case ENCRYPTION:
23735 case MASTER:
23736 case DATA:
23737 case SOURCE:
23738 case FILE:
23739 case FORMAT:
23740 case LIBRARY:
23741 case FULLTEXT:
23742 case MASK:
23743 case UNMASK:
23744 case MESSAGE:
23745 case REMOTE:
23746 case BINDING:
23747 case ROUTE:
23748 case SECURITY:
23749 case POLICY:
23750 case AGGREGATE:
23751 case QUEUE:
23752 case RULE:
23753 case SYNONYM:
23754 case COLLECTION:
23755 case SCRIPT:
23756 case KILL:
23757 case BACKUP:
23758 case LOG:
23759 case SHOWPLAN:
23760 case SUBSCRIBE:
23761 case QUERY:
23762 case NOTIFICATIONS:
23763 case CHECKPOINT:
23764 case SEQUENCE:
23765 case ABORT_AFTER_WAIT:
23766 case ALLOW_PAGE_LOCKS:
23767 case ALLOW_ROW_LOCKS:
23768 case ALL_SPARSE_COLUMNS:
23769 case BUCKET_COUNT:
23770 case COLUMNSTORE_ARCHIVE:
23771 case COLUMN_ENCRYPTION_KEY:
23772 case COLUMN_SET:
23773 case COMPRESSION_DELAY:
23774 case DATABASE_DEAULT:
23775 case DATA_COMPRESSION:
23776 case DATA_CONSISTENCY_CHECK:
23777 case ENCRYPTION_TYPE:
23778 case SYSTEM_TIME:
23779 case SYSTEM_VERSIONING:
23780 case TEXTIMAGE_ON:
23781 case WAIT_AT_LOW_PRIORITY:
23782 case STATISTICS_INCREMENTAL:
23783 case STATISTICS_NORECOMPUTE:
23784 case ROUND_ROBIN:
23785 case SCHEMA_AND_DATA:
23786 case SCHEMA_ONLY:
23787 case SORT_IN_TEMPDB:
23788 case IGNORE_DUP_KEY:
23789 case IMPLICIT_TRANSACTIONS:
23790 case MAX_DURATION:
23791 case MEMORY_OPTIMIZED:
23792 case MIGRATION_STATE:
23793 case PAD_INDEX:
23794 case REMOTE_DATA_ARCHIVE:
23795 case FILESTREAM_ON:
23796 case FILETABLE_COLLATE_FILENAME:
23797 case FILETABLE_DIRECTORY:
23798 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
23799 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
23800 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
23801 case FILTER_PREDICATE:
23802 case HISTORY_RETENTION_PERIOD:
23803 case HISTORY_TABLE:
23804 case LOCK_ESCALATION:
23805 case DROP_EXISTING:
23806 case ROW_NUMBER:
23807 case FIRST:
23808 case DATETIME2:
23809 case OUTPUT:
23810 case INSERTED:
23811 case DELETED:
23812 case FILENAME:
23813 case MAXSIZE:
23814 case FILEGROWTH:
23815 case UNLIMITED:
23816 case KB:
23817 case MB:
23818 case GB:
23819 case TB:
23820 case MEMORY_OPTIMIZED_DATA:
23821 case FILEGROUP:
23822 case NON_TRANSACTED_ACCESS:
23823 case DB_CHAINING:
23824 case TRUSTWORTHY:
23825 case FORWARD_ONLY:
23826 case KEYSET:
23827 case FAST_FORWARD:
23828 case SCROLL_LOCKS:
23829 case OPTIMISTIC:
23830 case TYPE_WARNING:
23831 case SCHEMABINDING:
23832 case CALLER:
23833 case OWNER:
23834 case SNAPSHOT:
23835 case REPEATABLE:
23836 case SERIALIZABLE:
23837 case NATIVE_COMPILATION:
23838 case VIEW_METADATA:
23839 case INSTEAD:
23840 case APPEND:
23841 case INCREMENT:
23842 case CACHE:
23843 case MINVALUE:
23844 case MAXVALUE:
23845 case RESTART:
23846 case LOB_COMPACTION:
23847 case COMPRESS_ALL_ROW_GROUPS:
23848 case REORGANIZE:
23849 case RESUME:
23850 case PAUSE:
23851 case ABORT:
23852 case ACCELERATED_DATABASE_RECOVERY:
23853 case PERSISTENT_VERSION_STORE_FILEGROUP:
23854 case IMMEDIATE:
23855 case NO_WAIT:
23856 case TARGET_RECOVERY_TIME:
23857 case SECONDS:
23858 case HONOR_BROKER_PRIORITY:
23859 case ERROR_BROKER_CONVERSATIONS:
23860 case NEW_BROKER:
23861 case DISABLE_BROKER:
23862 case ENABLE_BROKER:
23863 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
23864 case READ_COMMITTED_SNAPSHOT:
23865 case ALLOW_SNAPSHOT_ISOLATION:
23866 case RECURSIVE_TRIGGERS:
23867 case QUOTED_IDENTIFIER:
23868 case NUMERIC_ROUNDABORT:
23869 case CONCAT_NULL_YIELDS_NULL:
23870 case COMPATIBILITY_LEVEL:
23871 case ARITHABORT:
23872 case ANSI_WARNINGS:
23873 case ANSI_PADDING:
23874 case ANSI_NULLS:
23875 case ANSI_NULL_DEFAULT:
23876 case PAGE_VERIFY:
23877 case CHECKSUM:
23878 case TORN_PAGE_DETECTION:
23879 case BULK_LOGGED:
23880 case RECOVERY:
23881 case TOTAL_EXECUTION_CPU_TIME_MS:
23882 case TOTAL_COMPILE_CPU_TIME_MS:
23883 case STALE_CAPTURE_POLICY_THRESHOLD:
23884 case EXECUTION_COUNT:
23885 case QUERY_CAPTURE_POLICY:
23886 case WAIT_STATS_CAPTURE_MODE:
23887 case MAX_PLANS_PER_QUERY:
23888 case QUERY_CAPTURE_MODE:
23889 case SIZE_BASED_CLEANUP_MODE:
23890 case INTERVAL_LENGTH_MINUTES:
23891 case MAX_STORAGE_SIZE_MB:
23892 case DATA_FLUSH_INTERVAL_SECONDS:
23893 case CLEANUP_POLICY:
23894 case CUSTOM:
23895 case STALE_QUERY_THRESHOLD_DAYS:
23896 case OPERATION_MODE:
23897 case QUERY_STORE:
23898 case CURSOR_DEFAULT:
23899 case GLOBAL:
23900 case CURSOR_CLOSE_ON_COMMIT:
23901 case HOURS:
23902 case CHANGE_RETENTION:
23903 case AUTO_CLEANUP:
23904 case CHANGE_TRACKING:
23905 case AUTOMATIC_TUNING:
23906 case FORCE_LAST_GOOD_PLAN:
23907 case AUTO_UPDATE_STATISTICS_ASYNC:
23908 case AUTO_UPDATE_STATISTICS:
23909 case AUTO_SHRINK:
23910 case AUTO_CREATE_STATISTICS:
23911 case INCREMENTAL:
23912 case AUTO_CLOSE:
23913 case DATA_RETENTION:
23914 case TEMPORAL_HISTORY_RETENTION:
23915 case EDITION:
23916 case MIXED_PAGE_ALLOCATION:
23917 case DISABLED:
23918 case ALLOWED:
23919 case HADR:
23920 case MULTI_USER:
23921 case RESTRICTED_USER:
23922 case SINGLE_USER:
23923 case OFFLINE:
23924 case EMERGENCY:
23925 case SUSPEND:
23926 case DATE_CORRELATION_OPTIMIZATION:
23927 case ELASTIC_POOL:
23928 case SERVICE_OBJECTIVE:
23929 case DATABASE_NAME:
23930 case ALLOW_CONNECTIONS:
23931 case GEO:
23932 case NAMED:
23933 case DATEFIRST:
23934 case BACKUP_STORAGE_REDUNDANCY:
23935 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
23936 case SECONDARY:
23937 case FAILOVER:
23938 case DEFAULT_FULLTEXT_LANGUAGE:
23939 case DEFAULT_LANGUAGE:
23940 case INLINE:
23941 case NESTED_TRIGGERS:
23942 case TRANSFORM_NOISE_WORDS:
23943 case TWO_DIGIT_YEAR_CUTOFF:
23944 case PERSISTENT_LOG_BUFFER:
23945 case DIRECTORY_NAME:
23946 case DATEFORMAT:
23947 case DELAYED_DURABILITY:
23948 case AUTHORIZATION:
23949 case TRANSFER:
23950 case SEARCH:
23951 case MEMBER:
23952 case IDENTIFIER_:
23953 case DELIMITED_IDENTIFIER_:
23954 enterOuterAlt(_localctx, 1);
23955 {
23956 setState(3387);
23957 variableTableColumnDefinition();
23958 }
23959 break;
23960 case PRIMARY:
23961 case UNIQUE:
23962 case CHECK:
23963 enterOuterAlt(_localctx, 2);
23964 {
23965 setState(3388);
23966 variableTableConstraint();
23967 }
23968 break;
23969 default:
23970 throw new NoViableAltException(this);
23971 }
23972 }
23973 catch (RecognitionException re) {
23974 _localctx.exception = re;
23975 _errHandler.reportError(this, re);
23976 _errHandler.recover(this, re);
23977 }
23978 finally {
23979 exitRule();
23980 }
23981 return _localctx;
23982 }
23983
23984 public static class VariableTableColumnDefinitionContext extends ParserRuleContext {
23985 public ColumnNameContext columnName() {
23986 return getRuleContext(ColumnNameContext.class,0);
23987 }
23988 public VariableTableColumnConstraintContext variableTableColumnConstraint() {
23989 return getRuleContext(VariableTableColumnConstraintContext.class,0);
23990 }
23991 public DataTypeNameContext dataTypeName() {
23992 return getRuleContext(DataTypeNameContext.class,0);
23993 }
23994 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
23995 public List<ExprContext> expr() {
23996 return getRuleContexts(ExprContext.class);
23997 }
23998 public ExprContext expr(int i) {
23999 return getRuleContext(ExprContext.class,i);
24000 }
24001 public TerminalNode IDENTITY() { return getToken(SQLServerStatementParser.IDENTITY, 0); }
24002 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
24003 public CollationNameContext collationName() {
24004 return getRuleContext(CollationNameContext.class,0);
24005 }
24006 public TerminalNode ROWGUIDCOL() { return getToken(SQLServerStatementParser.ROWGUIDCOL, 0); }
24007 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
24008 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24009 public List<TerminalNode> NUMBER_() { return getTokens(SQLServerStatementParser.NUMBER_); }
24010 public TerminalNode NUMBER_(int i) {
24011 return getToken(SQLServerStatementParser.NUMBER_, i);
24012 }
24013 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
24014 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24015 public VariableTableColumnDefinitionContext(ParserRuleContext parent, int invokingState) {
24016 super(parent, invokingState);
24017 }
24018 @Override public int getRuleIndex() { return RULE_variableTableColumnDefinition; }
24019 @Override
24020 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24021 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableColumnDefinition(this);
24022 else return visitor.visitChildren(this);
24023 }
24024 }
24025
24026 public final VariableTableColumnDefinitionContext variableTableColumnDefinition() throws RecognitionException {
24027 VariableTableColumnDefinitionContext _localctx = new VariableTableColumnDefinitionContext(_ctx, getState());
24028 enterRule(_localctx, 506, RULE_variableTableColumnDefinition);
24029 int _la;
24030 try {
24031 enterOuterAlt(_localctx, 1);
24032 {
24033 setState(3391);
24034 columnName();
24035 setState(3395);
24036 _errHandler.sync(this);
24037 switch (_input.LA(1)) {
24038 case CHAR:
24039 case DATE:
24040 case TIME:
24041 case INTEGER:
24042 case REAL:
24043 case DECIMAL:
24044 case BIT:
24045 case SMALLINT:
24046 case INT:
24047 case TINYINT:
24048 case NUMERIC:
24049 case FLOAT:
24050 case BIGINT:
24051 case TEXT:
24052 case VARCHAR:
24053 case BINARY:
24054 case XML:
24055 case MONEY:
24056 case SMALLMONEY:
24057 case DATETIMEOFFSET:
24058 case DATETIME:
24059 case DATETIME2:
24060 case SMALLDATETIME:
24061 case NCHAR:
24062 case NVARCHAR:
24063 case NTEXT:
24064 case VARBINARY:
24065 case IMAGE:
24066 case SQL_VARIANT:
24067 case UNIQUEIDENTIFIER:
24068 case HIERARCHYID:
24069 case GEOMETRY:
24070 case GEOGRAPHY:
24071 case IDENTIFIER_:
24072 {
24073 setState(3392);
24074 dataTypeName();
24075 }
24076 break;
24077 case AS:
24078 {
24079 setState(3393);
24080 match(AS);
24081 setState(3394);
24082 expr(0);
24083 }
24084 break;
24085 default:
24086 throw new NoViableAltException(this);
24087 }
24088 setState(3399);
24089 _errHandler.sync(this);
24090 _la = _input.LA(1);
24091 if (_la==COLLATE) {
24092 {
24093 setState(3397);
24094 match(COLLATE);
24095 setState(3398);
24096 collationName();
24097 }
24098 }
24099
24100 setState(3413);
24101 _errHandler.sync(this);
24102 switch (_input.LA(1)) {
24103 case RP_:
24104 case COMMA_:
24105 case PRIMARY:
24106 case UNIQUE:
24107 case WITH:
24108 case NOT:
24109 case NULL:
24110 case DEFAULT:
24111 case CHECK:
24112 case ROWGUIDCOL:
24113 {
24114 setState(3403);
24115 _errHandler.sync(this);
24116 _la = _input.LA(1);
24117 if (_la==DEFAULT) {
24118 {
24119 setState(3401);
24120 match(DEFAULT);
24121 setState(3402);
24122 expr(0);
24123 }
24124 }
24125
24126 }
24127 break;
24128 case IDENTITY:
24129 {
24130 setState(3405);
24131 match(IDENTITY);
24132 setState(3411);
24133 _errHandler.sync(this);
24134 _la = _input.LA(1);
24135 if (_la==LP_) {
24136 {
24137 setState(3406);
24138 match(LP_);
24139 setState(3407);
24140 match(NUMBER_);
24141 setState(3408);
24142 match(COMMA_);
24143 setState(3409);
24144 match(NUMBER_);
24145 setState(3410);
24146 match(RP_);
24147 }
24148 }
24149
24150 }
24151 break;
24152 default:
24153 throw new NoViableAltException(this);
24154 }
24155 setState(3416);
24156 _errHandler.sync(this);
24157 _la = _input.LA(1);
24158 if (_la==ROWGUIDCOL) {
24159 {
24160 setState(3415);
24161 match(ROWGUIDCOL);
24162 }
24163 }
24164
24165 setState(3418);
24166 variableTableColumnConstraint();
24167 }
24168 }
24169 catch (RecognitionException re) {
24170 _localctx.exception = re;
24171 _errHandler.reportError(this, re);
24172 _errHandler.recover(this, re);
24173 }
24174 finally {
24175 exitRule();
24176 }
24177 return _localctx;
24178 }
24179
24180 public static class VariableTableColumnConstraintContext extends ParserRuleContext {
24181 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
24182 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
24183 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
24184 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
24185 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
24186 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
24187 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24188 public ExprContext expr() {
24189 return getRuleContext(ExprContext.class,0);
24190 }
24191 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24192 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
24193 public IndexOptionContext indexOption() {
24194 return getRuleContext(IndexOptionContext.class,0);
24195 }
24196 public VariableTableColumnConstraintContext(ParserRuleContext parent, int invokingState) {
24197 super(parent, invokingState);
24198 }
24199 @Override public int getRuleIndex() { return RULE_variableTableColumnConstraint; }
24200 @Override
24201 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24202 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableColumnConstraint(this);
24203 else return visitor.visitChildren(this);
24204 }
24205 }
24206
24207 public final VariableTableColumnConstraintContext variableTableColumnConstraint() throws RecognitionException {
24208 VariableTableColumnConstraintContext _localctx = new VariableTableColumnConstraintContext(_ctx, getState());
24209 enterRule(_localctx, 508, RULE_variableTableColumnConstraint);
24210 try {
24211 setState(3437);
24212 _errHandler.sync(this);
24213 switch ( getInterpreter().adaptivePredict(_input,332,_ctx) ) {
24214 case 1:
24215 enterOuterAlt(_localctx, 1);
24216 {
24217 setState(3423);
24218 _errHandler.sync(this);
24219 switch (_input.LA(1)) {
24220 case NULL:
24221 {
24222 setState(3420);
24223 match(NULL);
24224 }
24225 break;
24226 case NOT:
24227 {
24228 setState(3421);
24229 match(NOT);
24230 setState(3422);
24231 match(NULL);
24232 }
24233 break;
24234 case RP_:
24235 case COMMA_:
24236 break;
24237 default:
24238 break;
24239 }
24240 }
24241 break;
24242 case 2:
24243 enterOuterAlt(_localctx, 2);
24244 {
24245 setState(3428);
24246 _errHandler.sync(this);
24247 switch (_input.LA(1)) {
24248 case PRIMARY:
24249 {
24250 setState(3425);
24251 match(PRIMARY);
24252 setState(3426);
24253 match(KEY);
24254 }
24255 break;
24256 case UNIQUE:
24257 {
24258 setState(3427);
24259 match(UNIQUE);
24260 }
24261 break;
24262 case RP_:
24263 case COMMA_:
24264 break;
24265 default:
24266 break;
24267 }
24268 }
24269 break;
24270 case 3:
24271 enterOuterAlt(_localctx, 3);
24272 {
24273 setState(3430);
24274 match(CHECK);
24275 setState(3431);
24276 match(LP_);
24277 setState(3432);
24278 expr(0);
24279 setState(3433);
24280 match(RP_);
24281 }
24282 break;
24283 case 4:
24284 enterOuterAlt(_localctx, 4);
24285 {
24286 setState(3435);
24287 match(WITH);
24288 setState(3436);
24289 indexOption();
24290 }
24291 break;
24292 }
24293 }
24294 catch (RecognitionException re) {
24295 _localctx.exception = re;
24296 _errHandler.reportError(this, re);
24297 _errHandler.recover(this, re);
24298 }
24299 finally {
24300 exitRule();
24301 }
24302 return _localctx;
24303 }
24304
24305 public static class VariableTableConstraintContext extends ParserRuleContext {
24306 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24307 public List<ColumnNameContext> columnName() {
24308 return getRuleContexts(ColumnNameContext.class);
24309 }
24310 public ColumnNameContext columnName(int i) {
24311 return getRuleContext(ColumnNameContext.class,i);
24312 }
24313 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24314 public TerminalNode PRIMARY() { return getToken(SQLServerStatementParser.PRIMARY, 0); }
24315 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
24316 public TerminalNode UNIQUE() { return getToken(SQLServerStatementParser.UNIQUE, 0); }
24317 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24318 public TerminalNode COMMA_(int i) {
24319 return getToken(SQLServerStatementParser.COMMA_, i);
24320 }
24321 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
24322 public ExprContext expr() {
24323 return getRuleContext(ExprContext.class,0);
24324 }
24325 public VariableTableConstraintContext(ParserRuleContext parent, int invokingState) {
24326 super(parent, invokingState);
24327 }
24328 @Override public int getRuleIndex() { return RULE_variableTableConstraint; }
24329 @Override
24330 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24331 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitVariableTableConstraint(this);
24332 else return visitor.visitChildren(this);
24333 }
24334 }
24335
24336 public final VariableTableConstraintContext variableTableConstraint() throws RecognitionException {
24337 VariableTableConstraintContext _localctx = new VariableTableConstraintContext(_ctx, getState());
24338 enterRule(_localctx, 510, RULE_variableTableConstraint);
24339 int _la;
24340 try {
24341 setState(3457);
24342 _errHandler.sync(this);
24343 switch (_input.LA(1)) {
24344 case PRIMARY:
24345 case UNIQUE:
24346 enterOuterAlt(_localctx, 1);
24347 {
24348 setState(3442);
24349 _errHandler.sync(this);
24350 switch (_input.LA(1)) {
24351 case PRIMARY:
24352 {
24353 setState(3439);
24354 match(PRIMARY);
24355 setState(3440);
24356 match(KEY);
24357 }
24358 break;
24359 case UNIQUE:
24360 {
24361 setState(3441);
24362 match(UNIQUE);
24363 }
24364 break;
24365 default:
24366 throw new NoViableAltException(this);
24367 }
24368 setState(3444);
24369 match(LP_);
24370 setState(3445);
24371 columnName();
24372 setState(3450);
24373 _errHandler.sync(this);
24374 _la = _input.LA(1);
24375 while (_la==COMMA_) {
24376 {
24377 {
24378 setState(3446);
24379 match(COMMA_);
24380 setState(3447);
24381 columnName();
24382 }
24383 }
24384 setState(3452);
24385 _errHandler.sync(this);
24386 _la = _input.LA(1);
24387 }
24388 setState(3453);
24389 match(RP_);
24390 }
24391 break;
24392 case CHECK:
24393 enterOuterAlt(_localctx, 2);
24394 {
24395 setState(3455);
24396 match(CHECK);
24397 setState(3456);
24398 expr(0);
24399 }
24400 break;
24401 default:
24402 throw new NoViableAltException(this);
24403 }
24404 }
24405 catch (RecognitionException re) {
24406 _localctx.exception = re;
24407 _errHandler.reportError(this, re);
24408 _errHandler.recover(this, re);
24409 }
24410 finally {
24411 exitRule();
24412 }
24413 return _localctx;
24414 }
24415
24416 public static class SetVariableContext extends ParserRuleContext {
24417 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
24418 public VariableNameContext variableName() {
24419 return getRuleContext(VariableNameContext.class,0);
24420 }
24421 public SetVariableClauseContext setVariableClause() {
24422 return getRuleContext(SetVariableClauseContext.class,0);
24423 }
24424 public SetVariableContext(ParserRuleContext parent, int invokingState) {
24425 super(parent, invokingState);
24426 }
24427 @Override public int getRuleIndex() { return RULE_setVariable; }
24428 @Override
24429 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24430 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetVariable(this);
24431 else return visitor.visitChildren(this);
24432 }
24433 }
24434
24435 public final SetVariableContext setVariable() throws RecognitionException {
24436 SetVariableContext _localctx = new SetVariableContext(_ctx, getState());
24437 enterRule(_localctx, 512, RULE_setVariable);
24438 try {
24439 enterOuterAlt(_localctx, 1);
24440 {
24441 setState(3459);
24442 match(SET);
24443 setState(3460);
24444 variableName();
24445 setState(3461);
24446 setVariableClause();
24447 }
24448 }
24449 catch (RecognitionException re) {
24450 _localctx.exception = re;
24451 _errHandler.reportError(this, re);
24452 _errHandler.recover(this, re);
24453 }
24454 finally {
24455 exitRule();
24456 }
24457 return _localctx;
24458 }
24459
24460 public static class SetVariableClauseContext extends ParserRuleContext {
24461 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
24462 public ExprContext expr() {
24463 return getRuleContext(ExprContext.class,0);
24464 }
24465 public List<IdentifierContext> identifier() {
24466 return getRuleContexts(IdentifierContext.class);
24467 }
24468 public IdentifierContext identifier(int i) {
24469 return getRuleContext(IdentifierContext.class,i);
24470 }
24471 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
24472 public TerminalNode DOT_(int i) {
24473 return getToken(SQLServerStatementParser.DOT_, i);
24474 }
24475 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
24476 public CompoundOperationContext compoundOperation() {
24477 return getRuleContext(CompoundOperationContext.class,0);
24478 }
24479 public CursorVariableContext cursorVariable() {
24480 return getRuleContext(CursorVariableContext.class,0);
24481 }
24482 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
24483 public SelectContext select() {
24484 return getRuleContext(SelectContext.class,0);
24485 }
24486 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
24487 public SetVariableClauseContext(ParserRuleContext parent, int invokingState) {
24488 super(parent, invokingState);
24489 }
24490 @Override public int getRuleIndex() { return RULE_setVariableClause; }
24491 @Override
24492 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24493 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetVariableClause(this);
24494 else return visitor.visitChildren(this);
24495 }
24496 }
24497
24498 public final SetVariableClauseContext setVariableClause() throws RecognitionException {
24499 SetVariableClauseContext _localctx = new SetVariableClauseContext(_ctx, getState());
24500 enterRule(_localctx, 514, RULE_setVariableClause);
24501 int _la;
24502 try {
24503 setState(3486);
24504 _errHandler.sync(this);
24505 switch ( getInterpreter().adaptivePredict(_input,338,_ctx) ) {
24506 case 1:
24507 enterOuterAlt(_localctx, 1);
24508 {
24509 setState(3465);
24510 _errHandler.sync(this);
24511 _la = _input.LA(1);
24512 if (_la==DOT_) {
24513 {
24514 setState(3463);
24515 match(DOT_);
24516 setState(3464);
24517 identifier();
24518 }
24519 }
24520
24521 setState(3467);
24522 match(EQ_);
24523 setState(3474);
24524 _errHandler.sync(this);
24525 switch ( getInterpreter().adaptivePredict(_input,337,_ctx) ) {
24526 case 1:
24527 {
24528 setState(3468);
24529 expr(0);
24530 }
24531 break;
24532 case 2:
24533 {
24534 setState(3469);
24535 identifier();
24536 setState(3470);
24537 match(DOT_);
24538 setState(3471);
24539 identifier();
24540 }
24541 break;
24542 case 3:
24543 {
24544 setState(3473);
24545 match(NCHAR_TEXT);
24546 }
24547 break;
24548 }
24549 }
24550 break;
24551 case 2:
24552 enterOuterAlt(_localctx, 2);
24553 {
24554 setState(3476);
24555 compoundOperation();
24556 setState(3477);
24557 expr(0);
24558 }
24559 break;
24560 case 3:
24561 enterOuterAlt(_localctx, 3);
24562 {
24563 setState(3479);
24564 match(EQ_);
24565 setState(3480);
24566 cursorVariable();
24567 }
24568 break;
24569 case 4:
24570 enterOuterAlt(_localctx, 4);
24571 {
24572 setState(3481);
24573 match(EQ_);
24574 setState(3482);
24575 match(LP_);
24576 setState(3483);
24577 select();
24578 setState(3484);
24579 match(RP_);
24580 }
24581 break;
24582 }
24583 }
24584 catch (RecognitionException re) {
24585 _localctx.exception = re;
24586 _errHandler.reportError(this, re);
24587 _errHandler.recover(this, re);
24588 }
24589 finally {
24590 exitRule();
24591 }
24592 return _localctx;
24593 }
24594
24595 public static class CursorVariableContext extends ParserRuleContext {
24596 public VariableNameContext variableName() {
24597 return getRuleContext(VariableNameContext.class,0);
24598 }
24599 public TerminalNode CURSOR() { return getToken(SQLServerStatementParser.CURSOR, 0); }
24600 public CursorClauseContext cursorClause() {
24601 return getRuleContext(CursorClauseContext.class,0);
24602 }
24603 public List<TerminalNode> FOR() { return getTokens(SQLServerStatementParser.FOR); }
24604 public TerminalNode FOR(int i) {
24605 return getToken(SQLServerStatementParser.FOR, i);
24606 }
24607 public SelectContext select() {
24608 return getRuleContext(SelectContext.class,0);
24609 }
24610 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
24611 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
24612 public TerminalNode OF() { return getToken(SQLServerStatementParser.OF, 0); }
24613 public List<NameContext> name() {
24614 return getRuleContexts(NameContext.class);
24615 }
24616 public NameContext name(int i) {
24617 return getRuleContext(NameContext.class,i);
24618 }
24619 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
24620 public TerminalNode COMMA_(int i) {
24621 return getToken(SQLServerStatementParser.COMMA_, i);
24622 }
24623 public CursorVariableContext(ParserRuleContext parent, int invokingState) {
24624 super(parent, invokingState);
24625 }
24626 @Override public int getRuleIndex() { return RULE_cursorVariable; }
24627 @Override
24628 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
24629 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorVariable(this);
24630 else return visitor.visitChildren(this);
24631 }
24632 }
24633
24634 public final CursorVariableContext cursorVariable() throws RecognitionException {
24635 CursorVariableContext _localctx = new CursorVariableContext(_ctx, getState());
24636 enterRule(_localctx, 516, RULE_cursorVariable);
24637 int _la;
24638 try {
24639 setState(3507);
24640 _errHandler.sync(this);
24641 switch (_input.LA(1)) {
24642 case TRUNCATE:
24643 case SCHEMA:
24644 case FUNCTION:
24645 case TRIGGER:
24646 case CAST:
24647 case GROUP:
24648 case LIMIT:
24649 case OFFSET:
24650 case SAVEPOINT:
24651 case BOOLEAN:
24652 case ARRAY:
24653 case DATE:
24654 case LOCALTIME:
24655 case LOCALTIMESTAMP:
24656 case QUARTER:
24657 case WEEK:
24658 case DAY:
24659 case MICROSECOND:
24660 case MAX:
24661 case MIN:
24662 case SUM:
24663 case COUNT:
24664 case AVG:
24665 case ENABLE:
24666 case DISABLE:
24667 case INSTANCE:
24668 case DO:
24669 case DEFINER:
24670 case SQL:
24671 case CASCADED:
24672 case LOCAL:
24673 case NEXT:
24674 case NAME:
24675 case INTEGER:
24676 case TYPE:
24677 case READ_ONLY:
24678 case DATABASE:
24679 case DATEPART:
24680 case PASSWORD:
24681 case BINARY:
24682 case HIDDEN_:
24683 case MOD:
24684 case PARTITION:
24685 case PARTITIONS:
24686 case TOP:
24687 case ROW:
24688 case ROWS:
24689 case XOR:
24690 case ALWAYS:
24691 case ROLE:
24692 case START:
24693 case ALGORITHM:
24694 case AUTO:
24695 case BLOCKERS:
24696 case CLUSTERED:
24697 case NONCLUSTERED:
24698 case COLUMNSTORE:
24699 case CONTENT:
24700 case YEARS:
24701 case MONTHS:
24702 case WEEKS:
24703 case DAYS:
24704 case MINUTES:
24705 case DENY:
24706 case DETERMINISTIC:
24707 case DISTRIBUTION:
24708 case DOCUMENT:
24709 case DURABILITY:
24710 case ENCRYPTED:
24711 case FILESTREAM:
24712 case FILETABLE:
24713 case FILLFACTOR:
24714 case FOLLOWING:
24715 case HASH:
24716 case HEAP:
24717 case INBOUND:
24718 case OUTBOUND:
24719 case UNBOUNDED:
24720 case INFINITE:
24721 case LOGIN:
24722 case MASKED:
24723 case MAXDOP:
24724 case MOVE:
24725 case NOCHECK:
24726 case OBJECT:
24727 case OFF:
24728 case ONLINE:
24729 case OVER:
24730 case PAGE:
24731 case PAUSED:
24732 case PERIOD:
24733 case PERSISTED:
24734 case PRECEDING:
24735 case RANDOMIZED:
24736 case RANGE:
24737 case REBUILD:
24738 case REPLICATE:
24739 case REPLICATION:
24740 case RESUMABLE:
24741 case ROWGUIDCOL:
24742 case SAVE:
24743 case SELF:
24744 case SPARSE:
24745 case SWITCH:
24746 case TRAN:
24747 case TRANCOUNT:
24748 case CONTROL:
24749 case CONCAT:
24750 case TAKE:
24751 case OWNERSHIP:
24752 case DEFINITION:
24753 case APPLICATION:
24754 case ASSEMBLY:
24755 case SYMMETRIC:
24756 case ASYMMETRIC:
24757 case SERVER:
24758 case RECEIVE:
24759 case CHANGE:
24760 case TRACE:
24761 case TRACKING:
24762 case RESOURCES:
24763 case SETTINGS:
24764 case STATE:
24765 case AVAILABILITY:
24766 case CREDENTIAL:
24767 case ENDPOINT:
24768 case EVENT:
24769 case NOTIFICATION:
24770 case LINKED:
24771 case AUDIT:
24772 case DDL:
24773 case XML:
24774 case IMPERSONATE:
24775 case SECURABLES:
24776 case AUTHENTICATE:
24777 case EXTERNAL:
24778 case ACCESS:
24779 case ADMINISTER:
24780 case BULK:
24781 case OPERATIONS:
24782 case UNSAFE:
24783 case SHUTDOWN:
24784 case SCOPED:
24785 case CONFIGURATION:
24786 case DATASPACE:
24787 case SERVICE:
24788 case CERTIFICATE:
24789 case CONTRACT:
24790 case ENCRYPTION:
24791 case MASTER:
24792 case DATA:
24793 case SOURCE:
24794 case FILE:
24795 case FORMAT:
24796 case LIBRARY:
24797 case FULLTEXT:
24798 case MASK:
24799 case UNMASK:
24800 case MESSAGE:
24801 case REMOTE:
24802 case BINDING:
24803 case ROUTE:
24804 case SECURITY:
24805 case POLICY:
24806 case AGGREGATE:
24807 case QUEUE:
24808 case RULE:
24809 case SYNONYM:
24810 case COLLECTION:
24811 case SCRIPT:
24812 case KILL:
24813 case BACKUP:
24814 case LOG:
24815 case SHOWPLAN:
24816 case SUBSCRIBE:
24817 case QUERY:
24818 case NOTIFICATIONS:
24819 case CHECKPOINT:
24820 case SEQUENCE:
24821 case ABORT_AFTER_WAIT:
24822 case ALLOW_PAGE_LOCKS:
24823 case ALLOW_ROW_LOCKS:
24824 case ALL_SPARSE_COLUMNS:
24825 case BUCKET_COUNT:
24826 case COLUMNSTORE_ARCHIVE:
24827 case COLUMN_ENCRYPTION_KEY:
24828 case COLUMN_SET:
24829 case COMPRESSION_DELAY:
24830 case DATABASE_DEAULT:
24831 case DATA_COMPRESSION:
24832 case DATA_CONSISTENCY_CHECK:
24833 case ENCRYPTION_TYPE:
24834 case SYSTEM_TIME:
24835 case SYSTEM_VERSIONING:
24836 case TEXTIMAGE_ON:
24837 case WAIT_AT_LOW_PRIORITY:
24838 case STATISTICS_INCREMENTAL:
24839 case STATISTICS_NORECOMPUTE:
24840 case ROUND_ROBIN:
24841 case SCHEMA_AND_DATA:
24842 case SCHEMA_ONLY:
24843 case SORT_IN_TEMPDB:
24844 case IGNORE_DUP_KEY:
24845 case IMPLICIT_TRANSACTIONS:
24846 case MAX_DURATION:
24847 case MEMORY_OPTIMIZED:
24848 case MIGRATION_STATE:
24849 case PAD_INDEX:
24850 case REMOTE_DATA_ARCHIVE:
24851 case FILESTREAM_ON:
24852 case FILETABLE_COLLATE_FILENAME:
24853 case FILETABLE_DIRECTORY:
24854 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
24855 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
24856 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
24857 case FILTER_PREDICATE:
24858 case HISTORY_RETENTION_PERIOD:
24859 case HISTORY_TABLE:
24860 case LOCK_ESCALATION:
24861 case DROP_EXISTING:
24862 case ROW_NUMBER:
24863 case FIRST:
24864 case DATETIME2:
24865 case OUTPUT:
24866 case INSERTED:
24867 case DELETED:
24868 case FILENAME:
24869 case MAXSIZE:
24870 case FILEGROWTH:
24871 case UNLIMITED:
24872 case KB:
24873 case MB:
24874 case GB:
24875 case TB:
24876 case MEMORY_OPTIMIZED_DATA:
24877 case FILEGROUP:
24878 case NON_TRANSACTED_ACCESS:
24879 case DB_CHAINING:
24880 case TRUSTWORTHY:
24881 case FORWARD_ONLY:
24882 case KEYSET:
24883 case FAST_FORWARD:
24884 case SCROLL_LOCKS:
24885 case OPTIMISTIC:
24886 case TYPE_WARNING:
24887 case SCHEMABINDING:
24888 case CALLER:
24889 case OWNER:
24890 case SNAPSHOT:
24891 case REPEATABLE:
24892 case SERIALIZABLE:
24893 case NATIVE_COMPILATION:
24894 case VIEW_METADATA:
24895 case INSTEAD:
24896 case APPEND:
24897 case INCREMENT:
24898 case CACHE:
24899 case MINVALUE:
24900 case MAXVALUE:
24901 case RESTART:
24902 case LOB_COMPACTION:
24903 case COMPRESS_ALL_ROW_GROUPS:
24904 case REORGANIZE:
24905 case RESUME:
24906 case PAUSE:
24907 case ABORT:
24908 case ACCELERATED_DATABASE_RECOVERY:
24909 case PERSISTENT_VERSION_STORE_FILEGROUP:
24910 case IMMEDIATE:
24911 case NO_WAIT:
24912 case TARGET_RECOVERY_TIME:
24913 case SECONDS:
24914 case HONOR_BROKER_PRIORITY:
24915 case ERROR_BROKER_CONVERSATIONS:
24916 case NEW_BROKER:
24917 case DISABLE_BROKER:
24918 case ENABLE_BROKER:
24919 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
24920 case READ_COMMITTED_SNAPSHOT:
24921 case ALLOW_SNAPSHOT_ISOLATION:
24922 case RECURSIVE_TRIGGERS:
24923 case QUOTED_IDENTIFIER:
24924 case NUMERIC_ROUNDABORT:
24925 case CONCAT_NULL_YIELDS_NULL:
24926 case COMPATIBILITY_LEVEL:
24927 case ARITHABORT:
24928 case ANSI_WARNINGS:
24929 case ANSI_PADDING:
24930 case ANSI_NULLS:
24931 case ANSI_NULL_DEFAULT:
24932 case PAGE_VERIFY:
24933 case CHECKSUM:
24934 case TORN_PAGE_DETECTION:
24935 case BULK_LOGGED:
24936 case RECOVERY:
24937 case TOTAL_EXECUTION_CPU_TIME_MS:
24938 case TOTAL_COMPILE_CPU_TIME_MS:
24939 case STALE_CAPTURE_POLICY_THRESHOLD:
24940 case EXECUTION_COUNT:
24941 case QUERY_CAPTURE_POLICY:
24942 case WAIT_STATS_CAPTURE_MODE:
24943 case MAX_PLANS_PER_QUERY:
24944 case QUERY_CAPTURE_MODE:
24945 case SIZE_BASED_CLEANUP_MODE:
24946 case INTERVAL_LENGTH_MINUTES:
24947 case MAX_STORAGE_SIZE_MB:
24948 case DATA_FLUSH_INTERVAL_SECONDS:
24949 case CLEANUP_POLICY:
24950 case CUSTOM:
24951 case STALE_QUERY_THRESHOLD_DAYS:
24952 case OPERATION_MODE:
24953 case QUERY_STORE:
24954 case CURSOR_DEFAULT:
24955 case GLOBAL:
24956 case CURSOR_CLOSE_ON_COMMIT:
24957 case HOURS:
24958 case CHANGE_RETENTION:
24959 case AUTO_CLEANUP:
24960 case CHANGE_TRACKING:
24961 case AUTOMATIC_TUNING:
24962 case FORCE_LAST_GOOD_PLAN:
24963 case AUTO_UPDATE_STATISTICS_ASYNC:
24964 case AUTO_UPDATE_STATISTICS:
24965 case AUTO_SHRINK:
24966 case AUTO_CREATE_STATISTICS:
24967 case INCREMENTAL:
24968 case AUTO_CLOSE:
24969 case DATA_RETENTION:
24970 case TEMPORAL_HISTORY_RETENTION:
24971 case EDITION:
24972 case MIXED_PAGE_ALLOCATION:
24973 case DISABLED:
24974 case ALLOWED:
24975 case HADR:
24976 case MULTI_USER:
24977 case RESTRICTED_USER:
24978 case SINGLE_USER:
24979 case OFFLINE:
24980 case EMERGENCY:
24981 case SUSPEND:
24982 case DATE_CORRELATION_OPTIMIZATION:
24983 case ELASTIC_POOL:
24984 case SERVICE_OBJECTIVE:
24985 case DATABASE_NAME:
24986 case ALLOW_CONNECTIONS:
24987 case GEO:
24988 case NAMED:
24989 case DATEFIRST:
24990 case BACKUP_STORAGE_REDUNDANCY:
24991 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
24992 case SECONDARY:
24993 case FAILOVER:
24994 case DEFAULT_FULLTEXT_LANGUAGE:
24995 case DEFAULT_LANGUAGE:
24996 case INLINE:
24997 case NESTED_TRIGGERS:
24998 case TRANSFORM_NOISE_WORDS:
24999 case TWO_DIGIT_YEAR_CUTOFF:
25000 case PERSISTENT_LOG_BUFFER:
25001 case DIRECTORY_NAME:
25002 case DATEFORMAT:
25003 case DELAYED_DURABILITY:
25004 case AUTHORIZATION:
25005 case TRANSFER:
25006 case SEARCH:
25007 case MEMBER:
25008 case IDENTIFIER_:
25009 case DELIMITED_IDENTIFIER_:
25010 enterOuterAlt(_localctx, 1);
25011 {
25012 setState(3488);
25013 variableName();
25014 }
25015 break;
25016 case CURSOR:
25017 enterOuterAlt(_localctx, 2);
25018 {
25019 setState(3489);
25020 match(CURSOR);
25021 setState(3490);
25022 cursorClause();
25023 setState(3491);
25024 match(FOR);
25025 setState(3492);
25026 select();
25027 {
25028 setState(3493);
25029 match(FOR);
25030 setState(3505);
25031 _errHandler.sync(this);
25032 switch (_input.LA(1)) {
25033 case READ_ONLY:
25034 {
25035 setState(3494);
25036 match(READ_ONLY);
25037 }
25038 break;
25039 case UPDATE:
25040 {
25041 setState(3495);
25042 match(UPDATE);
25043 {
25044 setState(3496);
25045 match(OF);
25046 setState(3497);
25047 name();
25048 setState(3502);
25049 _errHandler.sync(this);
25050 _la = _input.LA(1);
25051 while (_la==COMMA_) {
25052 {
25053 {
25054 setState(3498);
25055 match(COMMA_);
25056 setState(3499);
25057 name();
25058 }
25059 }
25060 setState(3504);
25061 _errHandler.sync(this);
25062 _la = _input.LA(1);
25063 }
25064 }
25065 }
25066 break;
25067 default:
25068 throw new NoViableAltException(this);
25069 }
25070 }
25071 }
25072 break;
25073 default:
25074 throw new NoViableAltException(this);
25075 }
25076 }
25077 catch (RecognitionException re) {
25078 _localctx.exception = re;
25079 _errHandler.reportError(this, re);
25080 _errHandler.recover(this, re);
25081 }
25082 finally {
25083 exitRule();
25084 }
25085 return _localctx;
25086 }
25087
25088 public static class CursorClauseContext extends ParserRuleContext {
25089 public TerminalNode TYPE_WARNING() { return getToken(SQLServerStatementParser.TYPE_WARNING, 0); }
25090 public TerminalNode FORWARD_ONLY() { return getToken(SQLServerStatementParser.FORWARD_ONLY, 0); }
25091 public TerminalNode SCROLL() { return getToken(SQLServerStatementParser.SCROLL, 0); }
25092 public TerminalNode STATIC() { return getToken(SQLServerStatementParser.STATIC, 0); }
25093 public TerminalNode KEYSET() { return getToken(SQLServerStatementParser.KEYSET, 0); }
25094 public TerminalNode DYNAMIC() { return getToken(SQLServerStatementParser.DYNAMIC, 0); }
25095 public TerminalNode FAST_FORWARD() { return getToken(SQLServerStatementParser.FAST_FORWARD, 0); }
25096 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
25097 public TerminalNode SCROLL_LOCKS() { return getToken(SQLServerStatementParser.SCROLL_LOCKS, 0); }
25098 public TerminalNode OPTIMISTIC() { return getToken(SQLServerStatementParser.OPTIMISTIC, 0); }
25099 public CursorClauseContext(ParserRuleContext parent, int invokingState) {
25100 super(parent, invokingState);
25101 }
25102 @Override public int getRuleIndex() { return RULE_cursorClause; }
25103 @Override
25104 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25105 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorClause(this);
25106 else return visitor.visitChildren(this);
25107 }
25108 }
25109
25110 public final CursorClauseContext cursorClause() throws RecognitionException {
25111 CursorClauseContext _localctx = new CursorClauseContext(_ctx, getState());
25112 enterRule(_localctx, 518, RULE_cursorClause);
25113 int _la;
25114 try {
25115 enterOuterAlt(_localctx, 1);
25116 {
25117 setState(3510);
25118 _errHandler.sync(this);
25119 _la = _input.LA(1);
25120 if (_la==FORWARD_ONLY || _la==SCROLL) {
25121 {
25122 setState(3509);
25123 _la = _input.LA(1);
25124 if ( !(_la==FORWARD_ONLY || _la==SCROLL) ) {
25125 _errHandler.recoverInline(this);
25126 }
25127 else {
25128 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
25129 _errHandler.reportMatch(this);
25130 consume();
25131 }
25132 }
25133 }
25134
25135 setState(3513);
25136 _errHandler.sync(this);
25137 _la = _input.LA(1);
25138 if (((((_la - 495)) & ~0x3f) == 0 && ((1L << (_la - 495)) & ((1L << (STATIC - 495)) | (1L << (KEYSET - 495)) | (1L << (DYNAMIC - 495)) | (1L << (FAST_FORWARD - 495)))) != 0)) {
25139 {
25140 setState(3512);
25141 _la = _input.LA(1);
25142 if ( !(((((_la - 495)) & ~0x3f) == 0 && ((1L << (_la - 495)) & ((1L << (STATIC - 495)) | (1L << (KEYSET - 495)) | (1L << (DYNAMIC - 495)) | (1L << (FAST_FORWARD - 495)))) != 0)) ) {
25143 _errHandler.recoverInline(this);
25144 }
25145 else {
25146 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
25147 _errHandler.reportMatch(this);
25148 consume();
25149 }
25150 }
25151 }
25152
25153 setState(3516);
25154 _errHandler.sync(this);
25155 _la = _input.LA(1);
25156 if (_la==READ_ONLY || _la==SCROLL_LOCKS || _la==OPTIMISTIC) {
25157 {
25158 setState(3515);
25159 _la = _input.LA(1);
25160 if ( !(_la==READ_ONLY || _la==SCROLL_LOCKS || _la==OPTIMISTIC) ) {
25161 _errHandler.recoverInline(this);
25162 }
25163 else {
25164 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
25165 _errHandler.reportMatch(this);
25166 consume();
25167 }
25168 }
25169 }
25170
25171 setState(3519);
25172 _errHandler.sync(this);
25173 _la = _input.LA(1);
25174 if (_la==TYPE_WARNING) {
25175 {
25176 setState(3518);
25177 match(TYPE_WARNING);
25178 }
25179 }
25180
25181 }
25182 }
25183 catch (RecognitionException re) {
25184 _localctx.exception = re;
25185 _errHandler.reportError(this, re);
25186 _errHandler.recover(this, re);
25187 }
25188 finally {
25189 exitRule();
25190 }
25191 return _localctx;
25192 }
25193
25194 public static class CompoundOperationContext extends ParserRuleContext {
25195 public TerminalNode PLUS_() { return getToken(SQLServerStatementParser.PLUS_, 0); }
25196 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
25197 public TerminalNode MINUS_() { return getToken(SQLServerStatementParser.MINUS_, 0); }
25198 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
25199 public TerminalNode SLASH_() { return getToken(SQLServerStatementParser.SLASH_, 0); }
25200 public TerminalNode MOD_() { return getToken(SQLServerStatementParser.MOD_, 0); }
25201 public TerminalNode AMPERSAND_() { return getToken(SQLServerStatementParser.AMPERSAND_, 0); }
25202 public TerminalNode CARET_() { return getToken(SQLServerStatementParser.CARET_, 0); }
25203 public TerminalNode VERTICAL_BAR_() { return getToken(SQLServerStatementParser.VERTICAL_BAR_, 0); }
25204 public CompoundOperationContext(ParserRuleContext parent, int invokingState) {
25205 super(parent, invokingState);
25206 }
25207 @Override public int getRuleIndex() { return RULE_compoundOperation; }
25208 @Override
25209 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25210 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompoundOperation(this);
25211 else return visitor.visitChildren(this);
25212 }
25213 }
25214
25215 public final CompoundOperationContext compoundOperation() throws RecognitionException {
25216 CompoundOperationContext _localctx = new CompoundOperationContext(_ctx, getState());
25217 enterRule(_localctx, 520, RULE_compoundOperation);
25218 try {
25219 setState(3537);
25220 _errHandler.sync(this);
25221 switch (_input.LA(1)) {
25222 case PLUS_:
25223 enterOuterAlt(_localctx, 1);
25224 {
25225 setState(3521);
25226 match(PLUS_);
25227 setState(3522);
25228 match(EQ_);
25229 }
25230 break;
25231 case MINUS_:
25232 enterOuterAlt(_localctx, 2);
25233 {
25234 setState(3523);
25235 match(MINUS_);
25236 setState(3524);
25237 match(EQ_);
25238 }
25239 break;
25240 case ASTERISK_:
25241 enterOuterAlt(_localctx, 3);
25242 {
25243 setState(3525);
25244 match(ASTERISK_);
25245 setState(3526);
25246 match(EQ_);
25247 }
25248 break;
25249 case SLASH_:
25250 enterOuterAlt(_localctx, 4);
25251 {
25252 setState(3527);
25253 match(SLASH_);
25254 setState(3528);
25255 match(EQ_);
25256 }
25257 break;
25258 case MOD_:
25259 enterOuterAlt(_localctx, 5);
25260 {
25261 setState(3529);
25262 match(MOD_);
25263 setState(3530);
25264 match(EQ_);
25265 }
25266 break;
25267 case AMPERSAND_:
25268 enterOuterAlt(_localctx, 6);
25269 {
25270 setState(3531);
25271 match(AMPERSAND_);
25272 setState(3532);
25273 match(EQ_);
25274 }
25275 break;
25276 case CARET_:
25277 enterOuterAlt(_localctx, 7);
25278 {
25279 setState(3533);
25280 match(CARET_);
25281 setState(3534);
25282 match(EQ_);
25283 }
25284 break;
25285 case VERTICAL_BAR_:
25286 enterOuterAlt(_localctx, 8);
25287 {
25288 setState(3535);
25289 match(VERTICAL_BAR_);
25290 setState(3536);
25291 match(EQ_);
25292 }
25293 break;
25294 default:
25295 throw new NoViableAltException(this);
25296 }
25297 }
25298 catch (RecognitionException re) {
25299 _localctx.exception = re;
25300 _errHandler.reportError(this, re);
25301 _errHandler.recover(this, re);
25302 }
25303 finally {
25304 exitRule();
25305 }
25306 return _localctx;
25307 }
25308
25309 public static class FuncParametersContext extends ParserRuleContext {
25310 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
25311 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
25312 public List<VariableNameContext> variableName() {
25313 return getRuleContexts(VariableNameContext.class);
25314 }
25315 public VariableNameContext variableName(int i) {
25316 return getRuleContext(VariableNameContext.class,i);
25317 }
25318 public List<DataTypeContext> dataType() {
25319 return getRuleContexts(DataTypeContext.class);
25320 }
25321 public DataTypeContext dataType(int i) {
25322 return getRuleContext(DataTypeContext.class,i);
25323 }
25324 public List<TerminalNode> AS() { return getTokens(SQLServerStatementParser.AS); }
25325 public TerminalNode AS(int i) {
25326 return getToken(SQLServerStatementParser.AS, i);
25327 }
25328 public List<OwnerContext> owner() {
25329 return getRuleContexts(OwnerContext.class);
25330 }
25331 public OwnerContext owner(int i) {
25332 return getRuleContext(OwnerContext.class,i);
25333 }
25334 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
25335 public TerminalNode DOT_(int i) {
25336 return getToken(SQLServerStatementParser.DOT_, i);
25337 }
25338 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
25339 public TerminalNode EQ_(int i) {
25340 return getToken(SQLServerStatementParser.EQ_, i);
25341 }
25342 public List<IgnoredIdentifierContext> ignoredIdentifier() {
25343 return getRuleContexts(IgnoredIdentifierContext.class);
25344 }
25345 public IgnoredIdentifierContext ignoredIdentifier(int i) {
25346 return getRuleContext(IgnoredIdentifierContext.class,i);
25347 }
25348 public List<TerminalNode> READONLY() { return getTokens(SQLServerStatementParser.READONLY); }
25349 public TerminalNode READONLY(int i) {
25350 return getToken(SQLServerStatementParser.READONLY, i);
25351 }
25352 public FuncParametersContext(ParserRuleContext parent, int invokingState) {
25353 super(parent, invokingState);
25354 }
25355 @Override public int getRuleIndex() { return RULE_funcParameters; }
25356 @Override
25357 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25358 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncParameters(this);
25359 else return visitor.visitChildren(this);
25360 }
25361 }
25362
25363 public final FuncParametersContext funcParameters() throws RecognitionException {
25364 FuncParametersContext _localctx = new FuncParametersContext(_ctx, getState());
25365 enterRule(_localctx, 522, RULE_funcParameters);
25366 int _la;
25367 try {
25368 enterOuterAlt(_localctx, 1);
25369 {
25370 setState(3539);
25371 match(LP_);
25372 setState(3559);
25373 _errHandler.sync(this);
25374 _la = _input.LA(1);
25375 while (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (GROUP - 53)))) != 0) || ((((_la - 121)) & ~0x3f) == 0 && ((1L << (_la - 121)) & ((1L << (LIMIT - 121)) | (1L << (OFFSET - 121)) | (1L << (SAVEPOINT - 121)) | (1L << (BOOLEAN - 121)) | (1L << (ARRAY - 121)) | (1L << (DATE - 121)) | (1L << (LOCALTIME - 121)) | (1L << (LOCALTIMESTAMP - 121)) | (1L << (QUARTER - 121)) | (1L << (WEEK - 121)) | (1L << (DAY - 121)) | (1L << (MICROSECOND - 121)) | (1L << (MAX - 121)) | (1L << (MIN - 121)) | (1L << (SUM - 121)) | (1L << (COUNT - 121)) | (1L << (AVG - 121)) | (1L << (ENABLE - 121)) | (1L << (DISABLE - 121)) | (1L << (INSTANCE - 121)) | (1L << (DO - 121)) | (1L << (DEFINER - 121)) | (1L << (SQL - 121)) | (1L << (CASCADED - 121)) | (1L << (LOCAL - 121)) | (1L << (NEXT - 121)) | (1L << (NAME - 121)) | (1L << (INTEGER - 121)) | (1L << (TYPE - 121)))) != 0) || ((((_la - 201)) & ~0x3f) == 0 && ((1L << (_la - 201)) & ((1L << (READ_ONLY - 201)) | (1L << (DATABASE - 201)) | (1L << (DATEPART - 201)) | (1L << (PASSWORD - 201)) | (1L << (BINARY - 201)) | (1L << (HIDDEN_ - 201)) | (1L << (MOD - 201)) | (1L << (PARTITION - 201)) | (1L << (PARTITIONS - 201)) | (1L << (TOP - 201)) | (1L << (ROW - 201)) | (1L << (ROWS - 201)) | (1L << (XOR - 201)) | (1L << (ALWAYS - 201)) | (1L << (ROLE - 201)) | (1L << (START - 201)) | (1L << (ALGORITHM - 201)) | (1L << (AUTO - 201)) | (1L << (BLOCKERS - 201)) | (1L << (CLUSTERED - 201)) | (1L << (NONCLUSTERED - 201)) | (1L << (COLUMNSTORE - 201)) | (1L << (CONTENT - 201)) | (1L << (YEARS - 201)) | (1L << (MONTHS - 201)) | (1L << (WEEKS - 201)) | (1L << (DAYS - 201)) | (1L << (MINUTES - 201)) | (1L << (DENY - 201)) | (1L << (DETERMINISTIC - 201)) | (1L << (DISTRIBUTION - 201)) | (1L << (DOCUMENT - 201)) | (1L << (DURABILITY - 201)) | (1L << (ENCRYPTED - 201)) | (1L << (FILESTREAM - 201)) | (1L << (FILETABLE - 201)) | (1L << (FILLFACTOR - 201)) | (1L << (FOLLOWING - 201)) | (1L << (HASH - 201)) | (1L << (HEAP - 201)))) != 0) || ((((_la - 266)) & ~0x3f) == 0 && ((1L << (_la - 266)) & ((1L << (INBOUND - 266)) | (1L << (OUTBOUND - 266)) | (1L << (UNBOUNDED - 266)) | (1L << (INFINITE - 266)) | (1L << (LOGIN - 266)) | (1L << (MASKED - 266)) | (1L << (MAXDOP - 266)) | (1L << (MOVE - 266)) | (1L << (NOCHECK - 266)) | (1L << (OBJECT - 266)) | (1L << (OFF - 266)) | (1L << (ONLINE - 266)) | (1L << (OVER - 266)) | (1L << (PAGE - 266)) | (1L << (PAUSED - 266)) | (1L << (PERIOD - 266)) | (1L << (PERSISTED - 266)) | (1L << (PRECEDING - 266)) | (1L << (RANDOMIZED - 266)) | (1L << (RANGE - 266)) | (1L << (REBUILD - 266)) | (1L << (REPLICATE - 266)) | (1L << (REPLICATION - 266)) | (1L << (RESUMABLE - 266)) | (1L << (ROWGUIDCOL - 266)) | (1L << (SAVE - 266)) | (1L << (SELF - 266)) | (1L << (SPARSE - 266)) | (1L << (SWITCH - 266)) | (1L << (TRAN - 266)) | (1L << (TRANCOUNT - 266)) | (1L << (CONTROL - 266)) | (1L << (CONCAT - 266)) | (1L << (TAKE - 266)) | (1L << (OWNERSHIP - 266)) | (1L << (DEFINITION - 266)) | (1L << (APPLICATION - 266)) | (1L << (ASSEMBLY - 266)) | (1L << (SYMMETRIC - 266)) | (1L << (ASYMMETRIC - 266)) | (1L << (SERVER - 266)) | (1L << (RECEIVE - 266)) | (1L << (CHANGE - 266)) | (1L << (TRACE - 266)) | (1L << (TRACKING - 266)) | (1L << (RESOURCES - 266)) | (1L << (SETTINGS - 266)) | (1L << (STATE - 266)) | (1L << (AVAILABILITY - 266)) | (1L << (CREDENTIAL - 266)) | (1L << (ENDPOINT - 266)) | (1L << (EVENT - 266)) | (1L << (NOTIFICATION - 266)) | (1L << (LINKED - 266)) | (1L << (AUDIT - 266)) | (1L << (DDL - 266)))) != 0) || ((((_la - 330)) & ~0x3f) == 0 && ((1L << (_la - 330)) & ((1L << (XML - 330)) | (1L << (IMPERSONATE - 330)) | (1L << (SECURABLES - 330)) | (1L << (AUTHENTICATE - 330)) | (1L << (EXTERNAL - 330)) | (1L << (ACCESS - 330)) | (1L << (ADMINISTER - 330)) | (1L << (BULK - 330)) | (1L << (OPERATIONS - 330)) | (1L << (UNSAFE - 330)) | (1L << (SHUTDOWN - 330)) | (1L << (SCOPED - 330)) | (1L << (CONFIGURATION - 330)) | (1L << (DATASPACE - 330)) | (1L << (SERVICE - 330)) | (1L << (CERTIFICATE - 330)) | (1L << (CONTRACT - 330)) | (1L << (ENCRYPTION - 330)) | (1L << (MASTER - 330)) | (1L << (DATA - 330)) | (1L << (SOURCE - 330)) | (1L << (FILE - 330)) | (1L << (FORMAT - 330)) | (1L << (LIBRARY - 330)) | (1L << (FULLTEXT - 330)) | (1L << (MASK - 330)) | (1L << (UNMASK - 330)) | (1L << (MESSAGE - 330)) | (1L << (REMOTE - 330)) | (1L << (BINDING - 330)) | (1L << (ROUTE - 330)) | (1L << (SECURITY - 330)) | (1L << (POLICY - 330)) | (1L << (AGGREGATE - 330)) | (1L << (QUEUE - 330)) | (1L << (RULE - 330)) | (1L << (SYNONYM - 330)) | (1L << (COLLECTION - 330)) | (1L << (SCRIPT - 330)) | (1L << (KILL - 330)) | (1L << (BACKUP - 330)) | (1L << (LOG - 330)) | (1L << (SHOWPLAN - 330)) | (1L << (SUBSCRIBE - 330)) | (1L << (QUERY - 330)) | (1L << (NOTIFICATIONS - 330)) | (1L << (CHECKPOINT - 330)) | (1L << (SEQUENCE - 330)) | (1L << (ABORT_AFTER_WAIT - 330)) | (1L << (ALLOW_PAGE_LOCKS - 330)) | (1L << (ALLOW_ROW_LOCKS - 330)) | (1L << (ALL_SPARSE_COLUMNS - 330)) | (1L << (BUCKET_COUNT - 330)) | (1L << (COLUMNSTORE_ARCHIVE - 330)) | (1L << (COLUMN_ENCRYPTION_KEY - 330)) | (1L << (COLUMN_SET - 330)) | (1L << (COMPRESSION_DELAY - 330)) | (1L << (DATABASE_DEAULT - 330)) | (1L << (DATA_COMPRESSION - 330)) | (1L << (DATA_CONSISTENCY_CHECK - 330)) | (1L << (ENCRYPTION_TYPE - 330)) | (1L << (SYSTEM_TIME - 330)) | (1L << (SYSTEM_VERSIONING - 330)) | (1L << (TEXTIMAGE_ON - 330)))) != 0) || ((((_la - 394)) & ~0x3f) == 0 && ((1L << (_la - 394)) & ((1L << (WAIT_AT_LOW_PRIORITY - 394)) | (1L << (STATISTICS_INCREMENTAL - 394)) | (1L << (STATISTICS_NORECOMPUTE - 394)) | (1L << (ROUND_ROBIN - 394)) | (1L << (SCHEMA_AND_DATA - 394)) | (1L << (SCHEMA_ONLY - 394)) | (1L << (SORT_IN_TEMPDB - 394)) | (1L << (IGNORE_DUP_KEY - 394)) | (1L << (IMPLICIT_TRANSACTIONS - 394)) | (1L << (MAX_DURATION - 394)) | (1L << (MEMORY_OPTIMIZED - 394)) | (1L << (MIGRATION_STATE - 394)) | (1L << (PAD_INDEX - 394)) | (1L << (REMOTE_DATA_ARCHIVE - 394)) | (1L << (FILESTREAM_ON - 394)) | (1L << (FILETABLE_COLLATE_FILENAME - 394)) | (1L << (FILETABLE_DIRECTORY - 394)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILTER_PREDICATE - 394)) | (1L << (HISTORY_RETENTION_PERIOD - 394)) | (1L << (HISTORY_TABLE - 394)) | (1L << (LOCK_ESCALATION - 394)) | (1L << (DROP_EXISTING - 394)) | (1L << (ROW_NUMBER - 394)) | (1L << (FIRST - 394)) | (1L << (DATETIME2 - 394)) | (1L << (OUTPUT - 394)) | (1L << (INSERTED - 394)) | (1L << (DELETED - 394)))) != 0) || ((((_la - 478)) & ~0x3f) == 0 && ((1L << (_la - 478)) & ((1L << (FILENAME - 478)) | (1L << (MAXSIZE - 478)) | (1L << (FILEGROWTH - 478)) | (1L << (UNLIMITED - 478)) | (1L << (KB - 478)) | (1L << (MB - 478)) | (1L << (GB - 478)) | (1L << (TB - 478)) | (1L << (MEMORY_OPTIMIZED_DATA - 478)) | (1L << (FILEGROUP - 478)) | (1L << (NON_TRANSACTED_ACCESS - 478)) | (1L << (DB_CHAINING - 478)) | (1L << (TRUSTWORTHY - 478)) | (1L << (FORWARD_ONLY - 478)) | (1L << (KEYSET - 478)) | (1L << (FAST_FORWARD - 478)) | (1L << (SCROLL_LOCKS - 478)) | (1L << (OPTIMISTIC - 478)) | (1L << (TYPE_WARNING - 478)) | (1L << (SCHEMABINDING - 478)) | (1L << (CALLER - 478)) | (1L << (OWNER - 478)) | (1L << (SNAPSHOT - 478)) | (1L << (REPEATABLE - 478)) | (1L << (SERIALIZABLE - 478)) | (1L << (NATIVE_COMPILATION - 478)) | (1L << (VIEW_METADATA - 478)) | (1L << (INSTEAD - 478)) | (1L << (APPEND - 478)) | (1L << (INCREMENT - 478)) | (1L << (CACHE - 478)) | (1L << (MINVALUE - 478)) | (1L << (MAXVALUE - 478)) | (1L << (RESTART - 478)) | (1L << (LOB_COMPACTION - 478)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 478)) | (1L << (REORGANIZE - 478)) | (1L << (RESUME - 478)) | (1L << (PAUSE - 478)) | (1L << (ABORT - 478)))) != 0) || ((((_la - 544)) & ~0x3f) == 0 && ((1L << (_la - 544)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 544)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 544)) | (1L << (IMMEDIATE - 544)) | (1L << (NO_WAIT - 544)) | (1L << (TARGET_RECOVERY_TIME - 544)) | (1L << (SECONDS - 544)) | (1L << (HONOR_BROKER_PRIORITY - 544)) | (1L << (ERROR_BROKER_CONVERSATIONS - 544)) | (1L << (NEW_BROKER - 544)) | (1L << (DISABLE_BROKER - 544)) | (1L << (ENABLE_BROKER - 544)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 544)) | (1L << (READ_COMMITTED_SNAPSHOT - 544)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 544)) | (1L << (RECURSIVE_TRIGGERS - 544)) | (1L << (QUOTED_IDENTIFIER - 544)) | (1L << (NUMERIC_ROUNDABORT - 544)) | (1L << (CONCAT_NULL_YIELDS_NULL - 544)) | (1L << (COMPATIBILITY_LEVEL - 544)) | (1L << (ARITHABORT - 544)) | (1L << (ANSI_WARNINGS - 544)) | (1L << (ANSI_PADDING - 544)) | (1L << (ANSI_NULLS - 544)) | (1L << (ANSI_NULL_DEFAULT - 544)) | (1L << (PAGE_VERIFY - 544)) | (1L << (CHECKSUM - 544)) | (1L << (TORN_PAGE_DETECTION - 544)) | (1L << (BULK_LOGGED - 544)) | (1L << (RECOVERY - 544)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 544)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 544)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 544)) | (1L << (EXECUTION_COUNT - 544)) | (1L << (QUERY_CAPTURE_POLICY - 544)) | (1L << (WAIT_STATS_CAPTURE_MODE - 544)) | (1L << (MAX_PLANS_PER_QUERY - 544)) | (1L << (QUERY_CAPTURE_MODE - 544)) | (1L << (SIZE_BASED_CLEANUP_MODE - 544)) | (1L << (INTERVAL_LENGTH_MINUTES - 544)) | (1L << (MAX_STORAGE_SIZE_MB - 544)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 544)) | (1L << (CLEANUP_POLICY - 544)) | (1L << (CUSTOM - 544)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 544)) | (1L << (OPERATION_MODE - 544)) | (1L << (QUERY_STORE - 544)) | (1L << (CURSOR_DEFAULT - 544)) | (1L << (GLOBAL - 544)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 544)) | (1L << (HOURS - 544)) | (1L << (CHANGE_RETENTION - 544)) | (1L << (AUTO_CLEANUP - 544)) | (1L << (CHANGE_TRACKING - 544)) | (1L << (AUTOMATIC_TUNING - 544)) | (1L << (FORCE_LAST_GOOD_PLAN - 544)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 544)) | (1L << (AUTO_UPDATE_STATISTICS - 544)) | (1L << (AUTO_SHRINK - 544)) | (1L << (AUTO_CREATE_STATISTICS - 544)) | (1L << (INCREMENTAL - 544)) | (1L << (AUTO_CLOSE - 544)) | (1L << (DATA_RETENTION - 544)) | (1L << (TEMPORAL_HISTORY_RETENTION - 544)) | (1L << (EDITION - 544)))) != 0) || ((((_la - 608)) & ~0x3f) == 0 && ((1L << (_la - 608)) & ((1L << (MIXED_PAGE_ALLOCATION - 608)) | (1L << (DISABLED - 608)) | (1L << (ALLOWED - 608)) | (1L << (HADR - 608)) | (1L << (MULTI_USER - 608)) | (1L << (RESTRICTED_USER - 608)) | (1L << (SINGLE_USER - 608)) | (1L << (OFFLINE - 608)) | (1L << (EMERGENCY - 608)) | (1L << (SUSPEND - 608)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 608)) | (1L << (ELASTIC_POOL - 608)) | (1L << (SERVICE_OBJECTIVE - 608)) | (1L << (DATABASE_NAME - 608)) | (1L << (ALLOW_CONNECTIONS - 608)) | (1L << (GEO - 608)) | (1L << (NAMED - 608)) | (1L << (DATEFIRST - 608)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 608)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 608)) | (1L << (SECONDARY - 608)) | (1L << (FAILOVER - 608)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 608)) | (1L << (DEFAULT_LANGUAGE - 608)) | (1L << (INLINE - 608)) | (1L << (NESTED_TRIGGERS - 608)) | (1L << (TRANSFORM_NOISE_WORDS - 608)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 608)) | (1L << (PERSISTENT_LOG_BUFFER - 608)) | (1L << (DIRECTORY_NAME - 608)) | (1L << (DATEFORMAT - 608)) | (1L << (DELAYED_DURABILITY - 608)) | (1L << (AUTHORIZATION - 608)) | (1L << (TRANSFER - 608)) | (1L << (SEARCH - 608)) | (1L << (MEMBER - 608)))) != 0) || _la==IDENTIFIER_ || _la==DELIMITED_IDENTIFIER_) {
25376 {
25377 {
25378 setState(3540);
25379 variableName();
25380 setState(3542);
25381 _errHandler.sync(this);
25382 _la = _input.LA(1);
25383 if (_la==AS) {
25384 {
25385 setState(3541);
25386 match(AS);
25387 }
25388 }
25389
25390 setState(3547);
25391 _errHandler.sync(this);
25392 switch ( getInterpreter().adaptivePredict(_input,348,_ctx) ) {
25393 case 1:
25394 {
25395 setState(3544);
25396 owner();
25397 setState(3545);
25398 match(DOT_);
25399 }
25400 break;
25401 }
25402 setState(3549);
25403 dataType();
25404 setState(3552);
25405 _errHandler.sync(this);
25406 _la = _input.LA(1);
25407 if (_la==EQ_) {
25408 {
25409 setState(3550);
25410 match(EQ_);
25411 setState(3551);
25412 ignoredIdentifier();
25413 }
25414 }
25415
25416 setState(3555);
25417 _errHandler.sync(this);
25418 _la = _input.LA(1);
25419 if (_la==READONLY) {
25420 {
25421 setState(3554);
25422 match(READONLY);
25423 }
25424 }
25425
25426 }
25427 }
25428 setState(3561);
25429 _errHandler.sync(this);
25430 _la = _input.LA(1);
25431 }
25432 setState(3562);
25433 match(RP_);
25434 }
25435 }
25436 catch (RecognitionException re) {
25437 _localctx.exception = re;
25438 _errHandler.reportError(this, re);
25439 _errHandler.recover(this, re);
25440 }
25441 finally {
25442 exitRule();
25443 }
25444 return _localctx;
25445 }
25446
25447 public static class FuncReturnsContext extends ParserRuleContext {
25448 public FuncScalarReturnContext funcScalarReturn() {
25449 return getRuleContext(FuncScalarReturnContext.class,0);
25450 }
25451 public FuncInlineReturnContext funcInlineReturn() {
25452 return getRuleContext(FuncInlineReturnContext.class,0);
25453 }
25454 public FuncMutiReturnContext funcMutiReturn() {
25455 return getRuleContext(FuncMutiReturnContext.class,0);
25456 }
25457 public FuncReturnsContext(ParserRuleContext parent, int invokingState) {
25458 super(parent, invokingState);
25459 }
25460 @Override public int getRuleIndex() { return RULE_funcReturns; }
25461 @Override
25462 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25463 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncReturns(this);
25464 else return visitor.visitChildren(this);
25465 }
25466 }
25467
25468 public final FuncReturnsContext funcReturns() throws RecognitionException {
25469 FuncReturnsContext _localctx = new FuncReturnsContext(_ctx, getState());
25470 enterRule(_localctx, 524, RULE_funcReturns);
25471 try {
25472 setState(3567);
25473 _errHandler.sync(this);
25474 switch ( getInterpreter().adaptivePredict(_input,352,_ctx) ) {
25475 case 1:
25476 enterOuterAlt(_localctx, 1);
25477 {
25478 setState(3564);
25479 funcScalarReturn();
25480 }
25481 break;
25482 case 2:
25483 enterOuterAlt(_localctx, 2);
25484 {
25485 setState(3565);
25486 funcInlineReturn();
25487 }
25488 break;
25489 case 3:
25490 enterOuterAlt(_localctx, 3);
25491 {
25492 setState(3566);
25493 funcMutiReturn();
25494 }
25495 break;
25496 }
25497 }
25498 catch (RecognitionException re) {
25499 _localctx.exception = re;
25500 _errHandler.reportError(this, re);
25501 _errHandler.recover(this, re);
25502 }
25503 finally {
25504 exitRule();
25505 }
25506 return _localctx;
25507 }
25508
25509 public static class FuncMutiReturnContext extends ParserRuleContext {
25510 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
25511 public VariableNameContext variableName() {
25512 return getRuleContext(VariableNameContext.class,0);
25513 }
25514 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
25515 public CreateTableDefinitionsContext createTableDefinitions() {
25516 return getRuleContext(CreateTableDefinitionsContext.class,0);
25517 }
25518 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
25519 public CompoundStatementContext compoundStatement() {
25520 return getRuleContext(CompoundStatementContext.class,0);
25521 }
25522 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
25523 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
25524 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
25525 public List<FunctionOptionContext> functionOption() {
25526 return getRuleContexts(FunctionOptionContext.class);
25527 }
25528 public FunctionOptionContext functionOption(int i) {
25529 return getRuleContext(FunctionOptionContext.class,i);
25530 }
25531 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
25532 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25533 public TerminalNode COMMA_(int i) {
25534 return getToken(SQLServerStatementParser.COMMA_, i);
25535 }
25536 public FuncMutiReturnContext(ParserRuleContext parent, int invokingState) {
25537 super(parent, invokingState);
25538 }
25539 @Override public int getRuleIndex() { return RULE_funcMutiReturn; }
25540 @Override
25541 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25542 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncMutiReturn(this);
25543 else return visitor.visitChildren(this);
25544 }
25545 }
25546
25547 public final FuncMutiReturnContext funcMutiReturn() throws RecognitionException {
25548 FuncMutiReturnContext _localctx = new FuncMutiReturnContext(_ctx, getState());
25549 enterRule(_localctx, 526, RULE_funcMutiReturn);
25550 int _la;
25551 try {
25552 enterOuterAlt(_localctx, 1);
25553 {
25554 setState(3569);
25555 match(RETURNS);
25556 setState(3570);
25557 variableName();
25558 setState(3571);
25559 match(TABLE);
25560 setState(3572);
25561 createTableDefinitions();
25562 setState(3582);
25563 _errHandler.sync(this);
25564 _la = _input.LA(1);
25565 if (_la==WITH) {
25566 {
25567 setState(3573);
25568 match(WITH);
25569 setState(3574);
25570 functionOption();
25571 setState(3579);
25572 _errHandler.sync(this);
25573 _la = _input.LA(1);
25574 while (_la==COMMA_) {
25575 {
25576 {
25577 setState(3575);
25578 match(COMMA_);
25579 setState(3576);
25580 functionOption();
25581 }
25582 }
25583 setState(3581);
25584 _errHandler.sync(this);
25585 _la = _input.LA(1);
25586 }
25587 }
25588 }
25589
25590 setState(3585);
25591 _errHandler.sync(this);
25592 _la = _input.LA(1);
25593 if (_la==AS) {
25594 {
25595 setState(3584);
25596 match(AS);
25597 }
25598 }
25599
25600 setState(3587);
25601 match(BEGIN);
25602 setState(3588);
25603 compoundStatement();
25604 setState(3589);
25605 match(RETURN);
25606 setState(3590);
25607 match(END);
25608 }
25609 }
25610 catch (RecognitionException re) {
25611 _localctx.exception = re;
25612 _errHandler.reportError(this, re);
25613 _errHandler.recover(this, re);
25614 }
25615 finally {
25616 exitRule();
25617 }
25618 return _localctx;
25619 }
25620
25621 public static class FuncInlineReturnContext extends ParserRuleContext {
25622 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
25623 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
25624 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
25625 public SelectContext select() {
25626 return getRuleContext(SelectContext.class,0);
25627 }
25628 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
25629 public List<FunctionOptionContext> functionOption() {
25630 return getRuleContexts(FunctionOptionContext.class);
25631 }
25632 public FunctionOptionContext functionOption(int i) {
25633 return getRuleContext(FunctionOptionContext.class,i);
25634 }
25635 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
25636 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
25637 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
25638 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25639 public TerminalNode COMMA_(int i) {
25640 return getToken(SQLServerStatementParser.COMMA_, i);
25641 }
25642 public FuncInlineReturnContext(ParserRuleContext parent, int invokingState) {
25643 super(parent, invokingState);
25644 }
25645 @Override public int getRuleIndex() { return RULE_funcInlineReturn; }
25646 @Override
25647 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25648 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncInlineReturn(this);
25649 else return visitor.visitChildren(this);
25650 }
25651 }
25652
25653 public final FuncInlineReturnContext funcInlineReturn() throws RecognitionException {
25654 FuncInlineReturnContext _localctx = new FuncInlineReturnContext(_ctx, getState());
25655 enterRule(_localctx, 528, RULE_funcInlineReturn);
25656 int _la;
25657 try {
25658 enterOuterAlt(_localctx, 1);
25659 {
25660 setState(3592);
25661 match(RETURNS);
25662 setState(3593);
25663 match(TABLE);
25664 setState(3603);
25665 _errHandler.sync(this);
25666 _la = _input.LA(1);
25667 if (_la==WITH) {
25668 {
25669 setState(3594);
25670 match(WITH);
25671 setState(3595);
25672 functionOption();
25673 setState(3600);
25674 _errHandler.sync(this);
25675 _la = _input.LA(1);
25676 while (_la==COMMA_) {
25677 {
25678 {
25679 setState(3596);
25680 match(COMMA_);
25681 setState(3597);
25682 functionOption();
25683 }
25684 }
25685 setState(3602);
25686 _errHandler.sync(this);
25687 _la = _input.LA(1);
25688 }
25689 }
25690 }
25691
25692 setState(3606);
25693 _errHandler.sync(this);
25694 _la = _input.LA(1);
25695 if (_la==AS) {
25696 {
25697 setState(3605);
25698 match(AS);
25699 }
25700 }
25701
25702 setState(3608);
25703 match(RETURN);
25704 setState(3610);
25705 _errHandler.sync(this);
25706 _la = _input.LA(1);
25707 if (_la==LP_) {
25708 {
25709 setState(3609);
25710 match(LP_);
25711 }
25712 }
25713
25714 setState(3612);
25715 select();
25716 setState(3614);
25717 _errHandler.sync(this);
25718 _la = _input.LA(1);
25719 if (_la==RP_) {
25720 {
25721 setState(3613);
25722 match(RP_);
25723 }
25724 }
25725
25726 }
25727 }
25728 catch (RecognitionException re) {
25729 _localctx.exception = re;
25730 _errHandler.reportError(this, re);
25731 _errHandler.recover(this, re);
25732 }
25733 finally {
25734 exitRule();
25735 }
25736 return _localctx;
25737 }
25738
25739 public static class FuncScalarReturnContext extends ParserRuleContext {
25740 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
25741 public DataTypeContext dataType() {
25742 return getRuleContext(DataTypeContext.class,0);
25743 }
25744 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
25745 public CompoundStatementContext compoundStatement() {
25746 return getRuleContext(CompoundStatementContext.class,0);
25747 }
25748 public TerminalNode RETURN() { return getToken(SQLServerStatementParser.RETURN, 0); }
25749 public ExprContext expr() {
25750 return getRuleContext(ExprContext.class,0);
25751 }
25752 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
25753 public List<FunctionOptionContext> functionOption() {
25754 return getRuleContexts(FunctionOptionContext.class);
25755 }
25756 public FunctionOptionContext functionOption(int i) {
25757 return getRuleContext(FunctionOptionContext.class,i);
25758 }
25759 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
25760 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
25761 public TerminalNode COMMA_(int i) {
25762 return getToken(SQLServerStatementParser.COMMA_, i);
25763 }
25764 public FuncScalarReturnContext(ParserRuleContext parent, int invokingState) {
25765 super(parent, invokingState);
25766 }
25767 @Override public int getRuleIndex() { return RULE_funcScalarReturn; }
25768 @Override
25769 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25770 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFuncScalarReturn(this);
25771 else return visitor.visitChildren(this);
25772 }
25773 }
25774
25775 public final FuncScalarReturnContext funcScalarReturn() throws RecognitionException {
25776 FuncScalarReturnContext _localctx = new FuncScalarReturnContext(_ctx, getState());
25777 enterRule(_localctx, 530, RULE_funcScalarReturn);
25778 int _la;
25779 try {
25780 enterOuterAlt(_localctx, 1);
25781 {
25782 setState(3616);
25783 match(RETURNS);
25784 setState(3617);
25785 dataType();
25786 setState(3627);
25787 _errHandler.sync(this);
25788 _la = _input.LA(1);
25789 if (_la==WITH) {
25790 {
25791 setState(3618);
25792 match(WITH);
25793 setState(3619);
25794 functionOption();
25795 setState(3624);
25796 _errHandler.sync(this);
25797 _la = _input.LA(1);
25798 while (_la==COMMA_) {
25799 {
25800 {
25801 setState(3620);
25802 match(COMMA_);
25803 setState(3621);
25804 functionOption();
25805 }
25806 }
25807 setState(3626);
25808 _errHandler.sync(this);
25809 _la = _input.LA(1);
25810 }
25811 }
25812 }
25813
25814 setState(3630);
25815 _errHandler.sync(this);
25816 _la = _input.LA(1);
25817 if (_la==AS) {
25818 {
25819 setState(3629);
25820 match(AS);
25821 }
25822 }
25823
25824 setState(3632);
25825 match(BEGIN);
25826 setState(3633);
25827 compoundStatement();
25828 setState(3634);
25829 match(RETURN);
25830 setState(3635);
25831 expr(0);
25832 }
25833 }
25834 catch (RecognitionException re) {
25835 _localctx.exception = re;
25836 _errHandler.reportError(this, re);
25837 _errHandler.recover(this, re);
25838 }
25839 finally {
25840 exitRule();
25841 }
25842 return _localctx;
25843 }
25844
25845 public static class TableTypeDefinitionContext extends ParserRuleContext {
25846 public ColumnDefinitionContext columnDefinition() {
25847 return getRuleContext(ColumnDefinitionContext.class,0);
25848 }
25849 public ColumnConstraintContext columnConstraint() {
25850 return getRuleContext(ColumnConstraintContext.class,0);
25851 }
25852 public ComputedColumnDefinitionContext computedColumnDefinition() {
25853 return getRuleContext(ComputedColumnDefinitionContext.class,0);
25854 }
25855 public List<TableConstraintContext> tableConstraint() {
25856 return getRuleContexts(TableConstraintContext.class);
25857 }
25858 public TableConstraintContext tableConstraint(int i) {
25859 return getRuleContext(TableConstraintContext.class,i);
25860 }
25861 public TableTypeDefinitionContext(ParserRuleContext parent, int invokingState) {
25862 super(parent, invokingState);
25863 }
25864 @Override public int getRuleIndex() { return RULE_tableTypeDefinition; }
25865 @Override
25866 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25867 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableTypeDefinition(this);
25868 else return visitor.visitChildren(this);
25869 }
25870 }
25871
25872 public final TableTypeDefinitionContext tableTypeDefinition() throws RecognitionException {
25873 TableTypeDefinitionContext _localctx = new TableTypeDefinitionContext(_ctx, getState());
25874 enterRule(_localctx, 532, RULE_tableTypeDefinition);
25875 int _la;
25876 try {
25877 enterOuterAlt(_localctx, 1);
25878 {
25879 setState(3641);
25880 _errHandler.sync(this);
25881 switch ( getInterpreter().adaptivePredict(_input,364,_ctx) ) {
25882 case 1:
25883 {
25884 setState(3637);
25885 columnDefinition();
25886 setState(3638);
25887 columnConstraint();
25888 }
25889 break;
25890 case 2:
25891 {
25892 setState(3640);
25893 computedColumnDefinition();
25894 }
25895 break;
25896 }
25897 setState(3646);
25898 _errHandler.sync(this);
25899 _la = _input.LA(1);
25900 while (((((_la - 31)) & ~0x3f) == 0 && ((1L << (_la - 31)) & ((1L << (LP_ - 31)) | (1L << (CONSTRAINT - 31)) | (1L << (PRIMARY - 31)) | (1L << (UNIQUE - 31)) | (1L << (FOREIGN - 31)) | (1L << (KEY - 31)))) != 0) || _la==CHECK) {
25901 {
25902 {
25903 setState(3643);
25904 tableConstraint();
25905 }
25906 }
25907 setState(3648);
25908 _errHandler.sync(this);
25909 _la = _input.LA(1);
25910 }
25911 }
25912 }
25913 catch (RecognitionException re) {
25914 _localctx.exception = re;
25915 _errHandler.reportError(this, re);
25916 _errHandler.recover(this, re);
25917 }
25918 finally {
25919 exitRule();
25920 }
25921 return _localctx;
25922 }
25923
25924 public static class CompoundStatementContext extends ParserRuleContext {
25925 public List<ValidStatementContext> validStatement() {
25926 return getRuleContexts(ValidStatementContext.class);
25927 }
25928 public ValidStatementContext validStatement(int i) {
25929 return getRuleContext(ValidStatementContext.class,i);
25930 }
25931 public CompoundStatementContext(ParserRuleContext parent, int invokingState) {
25932 super(parent, invokingState);
25933 }
25934 @Override public int getRuleIndex() { return RULE_compoundStatement; }
25935 @Override
25936 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25937 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCompoundStatement(this);
25938 else return visitor.visitChildren(this);
25939 }
25940 }
25941
25942 public final CompoundStatementContext compoundStatement() throws RecognitionException {
25943 CompoundStatementContext _localctx = new CompoundStatementContext(_ctx, getState());
25944 enterRule(_localctx, 534, RULE_compoundStatement);
25945 int _la;
25946 try {
25947 enterOuterAlt(_localctx, 1);
25948 {
25949 setState(3652);
25950 _errHandler.sync(this);
25951 _la = _input.LA(1);
25952 while (((((_la - 46)) & ~0x3f) == 0 && ((1L << (_la - 46)) & ((1L << (SELECT - 46)) | (1L << (INSERT - 46)) | (1L << (UPDATE - 46)) | (1L << (DELETE - 46)) | (1L << (CREATE - 46)) | (1L << (ALTER - 46)) | (1L << (DROP - 46)) | (1L << (TRUNCATE - 46)) | (1L << (SET - 46)) | (1L << (WITH - 46)))) != 0) || _la==DECLARE) {
25953 {
25954 {
25955 setState(3649);
25956 validStatement();
25957 }
25958 }
25959 setState(3654);
25960 _errHandler.sync(this);
25961 _la = _input.LA(1);
25962 }
25963 }
25964 }
25965 catch (RecognitionException re) {
25966 _localctx.exception = re;
25967 _errHandler.reportError(this, re);
25968 _errHandler.recover(this, re);
25969 }
25970 finally {
25971 exitRule();
25972 }
25973 return _localctx;
25974 }
25975
25976 public static class FunctionOptionContext extends ParserRuleContext {
25977 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
25978 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
25979 public TerminalNode RETURNS() { return getToken(SQLServerStatementParser.RETURNS, 0); }
25980 public List<TerminalNode> NULL() { return getTokens(SQLServerStatementParser.NULL); }
25981 public TerminalNode NULL(int i) {
25982 return getToken(SQLServerStatementParser.NULL, i);
25983 }
25984 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
25985 public TerminalNode INPUT() { return getToken(SQLServerStatementParser.INPUT, 0); }
25986 public TerminalNode CALLED() { return getToken(SQLServerStatementParser.CALLED, 0); }
25987 public ExecuteAsClauseContext executeAsClause() {
25988 return getRuleContext(ExecuteAsClauseContext.class,0);
25989 }
25990 public TerminalNode INLINE() { return getToken(SQLServerStatementParser.INLINE, 0); }
25991 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
25992 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
25993 public FunctionOptionContext(ParserRuleContext parent, int invokingState) {
25994 super(parent, invokingState);
25995 }
25996 @Override public int getRuleIndex() { return RULE_functionOption; }
25997 @Override
25998 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
25999 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFunctionOption(this);
26000 else return visitor.visitChildren(this);
26001 }
26002 }
26003
26004 public final FunctionOptionContext functionOption() throws RecognitionException {
26005 FunctionOptionContext _localctx = new FunctionOptionContext(_ctx, getState());
26006 enterRule(_localctx, 536, RULE_functionOption);
26007 int _la;
26008 try {
26009 setState(3680);
26010 _errHandler.sync(this);
26011 switch ( getInterpreter().adaptivePredict(_input,372,_ctx) ) {
26012 case 1:
26013 enterOuterAlt(_localctx, 1);
26014 {
26015 setState(3656);
26016 _errHandler.sync(this);
26017 _la = _input.LA(1);
26018 if (_la==ENCRYPTION) {
26019 {
26020 setState(3655);
26021 match(ENCRYPTION);
26022 }
26023 }
26024
26025 }
26026 break;
26027 case 2:
26028 enterOuterAlt(_localctx, 2);
26029 {
26030 setState(3659);
26031 _errHandler.sync(this);
26032 _la = _input.LA(1);
26033 if (_la==SCHEMABINDING) {
26034 {
26035 setState(3658);
26036 match(SCHEMABINDING);
26037 }
26038 }
26039
26040 }
26041 break;
26042 case 3:
26043 enterOuterAlt(_localctx, 3);
26044 {
26045 setState(3670);
26046 _errHandler.sync(this);
26047 switch (_input.LA(1)) {
26048 case RETURNS:
26049 {
26050 setState(3661);
26051 match(RETURNS);
26052 setState(3662);
26053 match(NULL);
26054 setState(3663);
26055 match(ON);
26056 setState(3664);
26057 match(NULL);
26058 setState(3665);
26059 match(INPUT);
26060 }
26061 break;
26062 case CALLED:
26063 {
26064 setState(3666);
26065 match(CALLED);
26066 setState(3667);
26067 match(ON);
26068 setState(3668);
26069 match(NULL);
26070 setState(3669);
26071 match(INPUT);
26072 }
26073 break;
26074 case COMMA_:
26075 case AS:
26076 case BEGIN:
26077 case RETURN:
26078 break;
26079 default:
26080 break;
26081 }
26082 }
26083 break;
26084 case 4:
26085 enterOuterAlt(_localctx, 4);
26086 {
26087 setState(3673);
26088 _errHandler.sync(this);
26089 _la = _input.LA(1);
26090 if (_la==EXECUTE || _la==EXEC) {
26091 {
26092 setState(3672);
26093 executeAsClause();
26094 }
26095 }
26096
26097 }
26098 break;
26099 case 5:
26100 enterOuterAlt(_localctx, 5);
26101 {
26102 setState(3678);
26103 _errHandler.sync(this);
26104 _la = _input.LA(1);
26105 if (_la==INLINE) {
26106 {
26107 setState(3675);
26108 match(INLINE);
26109 setState(3676);
26110 match(EQ_);
26111 setState(3677);
26112 _la = _input.LA(1);
26113 if ( !(_la==ON || _la==OFF) ) {
26114 _errHandler.recoverInline(this);
26115 }
26116 else {
26117 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26118 _errHandler.reportMatch(this);
26119 consume();
26120 }
26121 }
26122 }
26123
26124 }
26125 break;
26126 }
26127 }
26128 catch (RecognitionException re) {
26129 _localctx.exception = re;
26130 _errHandler.reportError(this, re);
26131 _errHandler.recover(this, re);
26132 }
26133 finally {
26134 exitRule();
26135 }
26136 return _localctx;
26137 }
26138
26139 public static class ValidStatementContext extends ParserRuleContext {
26140 public CreateTableContext createTable() {
26141 return getRuleContext(CreateTableContext.class,0);
26142 }
26143 public AlterTableContext alterTable() {
26144 return getRuleContext(AlterTableContext.class,0);
26145 }
26146 public DropTableContext dropTable() {
26147 return getRuleContext(DropTableContext.class,0);
26148 }
26149 public TruncateTableContext truncateTable() {
26150 return getRuleContext(TruncateTableContext.class,0);
26151 }
26152 public InsertContext insert() {
26153 return getRuleContext(InsertContext.class,0);
26154 }
26155 public UpdateContext update() {
26156 return getRuleContext(UpdateContext.class,0);
26157 }
26158 public DeleteContext delete() {
26159 return getRuleContext(DeleteContext.class,0);
26160 }
26161 public SelectContext select() {
26162 return getRuleContext(SelectContext.class,0);
26163 }
26164 public SetVariableContext setVariable() {
26165 return getRuleContext(SetVariableContext.class,0);
26166 }
26167 public DeclareVariableContext declareVariable() {
26168 return getRuleContext(DeclareVariableContext.class,0);
26169 }
26170 public TerminalNode SEMI_() { return getToken(SQLServerStatementParser.SEMI_, 0); }
26171 public ValidStatementContext(ParserRuleContext parent, int invokingState) {
26172 super(parent, invokingState);
26173 }
26174 @Override public int getRuleIndex() { return RULE_validStatement; }
26175 @Override
26176 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26177 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitValidStatement(this);
26178 else return visitor.visitChildren(this);
26179 }
26180 }
26181
26182 public final ValidStatementContext validStatement() throws RecognitionException {
26183 ValidStatementContext _localctx = new ValidStatementContext(_ctx, getState());
26184 enterRule(_localctx, 538, RULE_validStatement);
26185 try {
26186 enterOuterAlt(_localctx, 1);
26187 {
26188 setState(3692);
26189 _errHandler.sync(this);
26190 switch ( getInterpreter().adaptivePredict(_input,373,_ctx) ) {
26191 case 1:
26192 {
26193 setState(3682);
26194 createTable();
26195 }
26196 break;
26197 case 2:
26198 {
26199 setState(3683);
26200 alterTable();
26201 }
26202 break;
26203 case 3:
26204 {
26205 setState(3684);
26206 dropTable();
26207 }
26208 break;
26209 case 4:
26210 {
26211 setState(3685);
26212 truncateTable();
26213 }
26214 break;
26215 case 5:
26216 {
26217 setState(3686);
26218 insert();
26219 }
26220 break;
26221 case 6:
26222 {
26223 setState(3687);
26224 update();
26225 }
26226 break;
26227 case 7:
26228 {
26229 setState(3688);
26230 delete();
26231 }
26232 break;
26233 case 8:
26234 {
26235 setState(3689);
26236 select();
26237 }
26238 break;
26239 case 9:
26240 {
26241 setState(3690);
26242 setVariable();
26243 }
26244 break;
26245 case 10:
26246 {
26247 setState(3691);
26248 declareVariable();
26249 }
26250 break;
26251 }
26252 setState(3695);
26253 _errHandler.sync(this);
26254 switch ( getInterpreter().adaptivePredict(_input,374,_ctx) ) {
26255 case 1:
26256 {
26257 setState(3694);
26258 match(SEMI_);
26259 }
26260 break;
26261 }
26262 }
26263 }
26264 catch (RecognitionException re) {
26265 _localctx.exception = re;
26266 _errHandler.reportError(this, re);
26267 _errHandler.recover(this, re);
26268 }
26269 finally {
26270 exitRule();
26271 }
26272 return _localctx;
26273 }
26274
26275 public static class ProcParametersContext extends ParserRuleContext {
26276 public List<ProcParameterContext> procParameter() {
26277 return getRuleContexts(ProcParameterContext.class);
26278 }
26279 public ProcParameterContext procParameter(int i) {
26280 return getRuleContext(ProcParameterContext.class,i);
26281 }
26282 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26283 public TerminalNode COMMA_(int i) {
26284 return getToken(SQLServerStatementParser.COMMA_, i);
26285 }
26286 public ProcParametersContext(ParserRuleContext parent, int invokingState) {
26287 super(parent, invokingState);
26288 }
26289 @Override public int getRuleIndex() { return RULE_procParameters; }
26290 @Override
26291 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26292 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcParameters(this);
26293 else return visitor.visitChildren(this);
26294 }
26295 }
26296
26297 public final ProcParametersContext procParameters() throws RecognitionException {
26298 ProcParametersContext _localctx = new ProcParametersContext(_ctx, getState());
26299 enterRule(_localctx, 540, RULE_procParameters);
26300 int _la;
26301 try {
26302 enterOuterAlt(_localctx, 1);
26303 {
26304 setState(3705);
26305 _errHandler.sync(this);
26306 _la = _input.LA(1);
26307 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (GROUP - 53)))) != 0) || ((((_la - 121)) & ~0x3f) == 0 && ((1L << (_la - 121)) & ((1L << (LIMIT - 121)) | (1L << (OFFSET - 121)) | (1L << (SAVEPOINT - 121)) | (1L << (BOOLEAN - 121)) | (1L << (ARRAY - 121)) | (1L << (DATE - 121)) | (1L << (LOCALTIME - 121)) | (1L << (LOCALTIMESTAMP - 121)) | (1L << (QUARTER - 121)) | (1L << (WEEK - 121)) | (1L << (DAY - 121)) | (1L << (MICROSECOND - 121)) | (1L << (MAX - 121)) | (1L << (MIN - 121)) | (1L << (SUM - 121)) | (1L << (COUNT - 121)) | (1L << (AVG - 121)) | (1L << (ENABLE - 121)) | (1L << (DISABLE - 121)) | (1L << (INSTANCE - 121)) | (1L << (DO - 121)) | (1L << (DEFINER - 121)) | (1L << (SQL - 121)) | (1L << (CASCADED - 121)) | (1L << (LOCAL - 121)) | (1L << (NEXT - 121)) | (1L << (NAME - 121)) | (1L << (INTEGER - 121)) | (1L << (TYPE - 121)))) != 0) || ((((_la - 201)) & ~0x3f) == 0 && ((1L << (_la - 201)) & ((1L << (READ_ONLY - 201)) | (1L << (DATABASE - 201)) | (1L << (DATEPART - 201)) | (1L << (PASSWORD - 201)) | (1L << (BINARY - 201)) | (1L << (HIDDEN_ - 201)) | (1L << (MOD - 201)) | (1L << (PARTITION - 201)) | (1L << (PARTITIONS - 201)) | (1L << (TOP - 201)) | (1L << (ROW - 201)) | (1L << (ROWS - 201)) | (1L << (XOR - 201)) | (1L << (ALWAYS - 201)) | (1L << (ROLE - 201)) | (1L << (START - 201)) | (1L << (ALGORITHM - 201)) | (1L << (AUTO - 201)) | (1L << (BLOCKERS - 201)) | (1L << (CLUSTERED - 201)) | (1L << (NONCLUSTERED - 201)) | (1L << (COLUMNSTORE - 201)) | (1L << (CONTENT - 201)) | (1L << (YEARS - 201)) | (1L << (MONTHS - 201)) | (1L << (WEEKS - 201)) | (1L << (DAYS - 201)) | (1L << (MINUTES - 201)) | (1L << (DENY - 201)) | (1L << (DETERMINISTIC - 201)) | (1L << (DISTRIBUTION - 201)) | (1L << (DOCUMENT - 201)) | (1L << (DURABILITY - 201)) | (1L << (ENCRYPTED - 201)) | (1L << (FILESTREAM - 201)) | (1L << (FILETABLE - 201)) | (1L << (FILLFACTOR - 201)) | (1L << (FOLLOWING - 201)) | (1L << (HASH - 201)) | (1L << (HEAP - 201)))) != 0) || ((((_la - 266)) & ~0x3f) == 0 && ((1L << (_la - 266)) & ((1L << (INBOUND - 266)) | (1L << (OUTBOUND - 266)) | (1L << (UNBOUNDED - 266)) | (1L << (INFINITE - 266)) | (1L << (LOGIN - 266)) | (1L << (MASKED - 266)) | (1L << (MAXDOP - 266)) | (1L << (MOVE - 266)) | (1L << (NOCHECK - 266)) | (1L << (OBJECT - 266)) | (1L << (OFF - 266)) | (1L << (ONLINE - 266)) | (1L << (OVER - 266)) | (1L << (PAGE - 266)) | (1L << (PAUSED - 266)) | (1L << (PERIOD - 266)) | (1L << (PERSISTED - 266)) | (1L << (PRECEDING - 266)) | (1L << (RANDOMIZED - 266)) | (1L << (RANGE - 266)) | (1L << (REBUILD - 266)) | (1L << (REPLICATE - 266)) | (1L << (REPLICATION - 266)) | (1L << (RESUMABLE - 266)) | (1L << (ROWGUIDCOL - 266)) | (1L << (SAVE - 266)) | (1L << (SELF - 266)) | (1L << (SPARSE - 266)) | (1L << (SWITCH - 266)) | (1L << (TRAN - 266)) | (1L << (TRANCOUNT - 266)) | (1L << (CONTROL - 266)) | (1L << (CONCAT - 266)) | (1L << (TAKE - 266)) | (1L << (OWNERSHIP - 266)) | (1L << (DEFINITION - 266)) | (1L << (APPLICATION - 266)) | (1L << (ASSEMBLY - 266)) | (1L << (SYMMETRIC - 266)) | (1L << (ASYMMETRIC - 266)) | (1L << (SERVER - 266)) | (1L << (RECEIVE - 266)) | (1L << (CHANGE - 266)) | (1L << (TRACE - 266)) | (1L << (TRACKING - 266)) | (1L << (RESOURCES - 266)) | (1L << (SETTINGS - 266)) | (1L << (STATE - 266)) | (1L << (AVAILABILITY - 266)) | (1L << (CREDENTIAL - 266)) | (1L << (ENDPOINT - 266)) | (1L << (EVENT - 266)) | (1L << (NOTIFICATION - 266)) | (1L << (LINKED - 266)) | (1L << (AUDIT - 266)) | (1L << (DDL - 266)))) != 0) || ((((_la - 330)) & ~0x3f) == 0 && ((1L << (_la - 330)) & ((1L << (XML - 330)) | (1L << (IMPERSONATE - 330)) | (1L << (SECURABLES - 330)) | (1L << (AUTHENTICATE - 330)) | (1L << (EXTERNAL - 330)) | (1L << (ACCESS - 330)) | (1L << (ADMINISTER - 330)) | (1L << (BULK - 330)) | (1L << (OPERATIONS - 330)) | (1L << (UNSAFE - 330)) | (1L << (SHUTDOWN - 330)) | (1L << (SCOPED - 330)) | (1L << (CONFIGURATION - 330)) | (1L << (DATASPACE - 330)) | (1L << (SERVICE - 330)) | (1L << (CERTIFICATE - 330)) | (1L << (CONTRACT - 330)) | (1L << (ENCRYPTION - 330)) | (1L << (MASTER - 330)) | (1L << (DATA - 330)) | (1L << (SOURCE - 330)) | (1L << (FILE - 330)) | (1L << (FORMAT - 330)) | (1L << (LIBRARY - 330)) | (1L << (FULLTEXT - 330)) | (1L << (MASK - 330)) | (1L << (UNMASK - 330)) | (1L << (MESSAGE - 330)) | (1L << (REMOTE - 330)) | (1L << (BINDING - 330)) | (1L << (ROUTE - 330)) | (1L << (SECURITY - 330)) | (1L << (POLICY - 330)) | (1L << (AGGREGATE - 330)) | (1L << (QUEUE - 330)) | (1L << (RULE - 330)) | (1L << (SYNONYM - 330)) | (1L << (COLLECTION - 330)) | (1L << (SCRIPT - 330)) | (1L << (KILL - 330)) | (1L << (BACKUP - 330)) | (1L << (LOG - 330)) | (1L << (SHOWPLAN - 330)) | (1L << (SUBSCRIBE - 330)) | (1L << (QUERY - 330)) | (1L << (NOTIFICATIONS - 330)) | (1L << (CHECKPOINT - 330)) | (1L << (SEQUENCE - 330)) | (1L << (ABORT_AFTER_WAIT - 330)) | (1L << (ALLOW_PAGE_LOCKS - 330)) | (1L << (ALLOW_ROW_LOCKS - 330)) | (1L << (ALL_SPARSE_COLUMNS - 330)) | (1L << (BUCKET_COUNT - 330)) | (1L << (COLUMNSTORE_ARCHIVE - 330)) | (1L << (COLUMN_ENCRYPTION_KEY - 330)) | (1L << (COLUMN_SET - 330)) | (1L << (COMPRESSION_DELAY - 330)) | (1L << (DATABASE_DEAULT - 330)) | (1L << (DATA_COMPRESSION - 330)) | (1L << (DATA_CONSISTENCY_CHECK - 330)) | (1L << (ENCRYPTION_TYPE - 330)) | (1L << (SYSTEM_TIME - 330)) | (1L << (SYSTEM_VERSIONING - 330)) | (1L << (TEXTIMAGE_ON - 330)))) != 0) || ((((_la - 394)) & ~0x3f) == 0 && ((1L << (_la - 394)) & ((1L << (WAIT_AT_LOW_PRIORITY - 394)) | (1L << (STATISTICS_INCREMENTAL - 394)) | (1L << (STATISTICS_NORECOMPUTE - 394)) | (1L << (ROUND_ROBIN - 394)) | (1L << (SCHEMA_AND_DATA - 394)) | (1L << (SCHEMA_ONLY - 394)) | (1L << (SORT_IN_TEMPDB - 394)) | (1L << (IGNORE_DUP_KEY - 394)) | (1L << (IMPLICIT_TRANSACTIONS - 394)) | (1L << (MAX_DURATION - 394)) | (1L << (MEMORY_OPTIMIZED - 394)) | (1L << (MIGRATION_STATE - 394)) | (1L << (PAD_INDEX - 394)) | (1L << (REMOTE_DATA_ARCHIVE - 394)) | (1L << (FILESTREAM_ON - 394)) | (1L << (FILETABLE_COLLATE_FILENAME - 394)) | (1L << (FILETABLE_DIRECTORY - 394)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILTER_PREDICATE - 394)) | (1L << (HISTORY_RETENTION_PERIOD - 394)) | (1L << (HISTORY_TABLE - 394)) | (1L << (LOCK_ESCALATION - 394)) | (1L << (DROP_EXISTING - 394)) | (1L << (ROW_NUMBER - 394)) | (1L << (FIRST - 394)) | (1L << (DATETIME2 - 394)) | (1L << (OUTPUT - 394)) | (1L << (INSERTED - 394)) | (1L << (DELETED - 394)))) != 0) || ((((_la - 478)) & ~0x3f) == 0 && ((1L << (_la - 478)) & ((1L << (FILENAME - 478)) | (1L << (MAXSIZE - 478)) | (1L << (FILEGROWTH - 478)) | (1L << (UNLIMITED - 478)) | (1L << (KB - 478)) | (1L << (MB - 478)) | (1L << (GB - 478)) | (1L << (TB - 478)) | (1L << (MEMORY_OPTIMIZED_DATA - 478)) | (1L << (FILEGROUP - 478)) | (1L << (NON_TRANSACTED_ACCESS - 478)) | (1L << (DB_CHAINING - 478)) | (1L << (TRUSTWORTHY - 478)) | (1L << (FORWARD_ONLY - 478)) | (1L << (KEYSET - 478)) | (1L << (FAST_FORWARD - 478)) | (1L << (SCROLL_LOCKS - 478)) | (1L << (OPTIMISTIC - 478)) | (1L << (TYPE_WARNING - 478)) | (1L << (SCHEMABINDING - 478)) | (1L << (CALLER - 478)) | (1L << (OWNER - 478)) | (1L << (SNAPSHOT - 478)) | (1L << (REPEATABLE - 478)) | (1L << (SERIALIZABLE - 478)) | (1L << (NATIVE_COMPILATION - 478)) | (1L << (VIEW_METADATA - 478)) | (1L << (INSTEAD - 478)) | (1L << (APPEND - 478)) | (1L << (INCREMENT - 478)) | (1L << (CACHE - 478)) | (1L << (MINVALUE - 478)) | (1L << (MAXVALUE - 478)) | (1L << (RESTART - 478)) | (1L << (LOB_COMPACTION - 478)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 478)) | (1L << (REORGANIZE - 478)) | (1L << (RESUME - 478)) | (1L << (PAUSE - 478)) | (1L << (ABORT - 478)))) != 0) || ((((_la - 544)) & ~0x3f) == 0 && ((1L << (_la - 544)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 544)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 544)) | (1L << (IMMEDIATE - 544)) | (1L << (NO_WAIT - 544)) | (1L << (TARGET_RECOVERY_TIME - 544)) | (1L << (SECONDS - 544)) | (1L << (HONOR_BROKER_PRIORITY - 544)) | (1L << (ERROR_BROKER_CONVERSATIONS - 544)) | (1L << (NEW_BROKER - 544)) | (1L << (DISABLE_BROKER - 544)) | (1L << (ENABLE_BROKER - 544)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 544)) | (1L << (READ_COMMITTED_SNAPSHOT - 544)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 544)) | (1L << (RECURSIVE_TRIGGERS - 544)) | (1L << (QUOTED_IDENTIFIER - 544)) | (1L << (NUMERIC_ROUNDABORT - 544)) | (1L << (CONCAT_NULL_YIELDS_NULL - 544)) | (1L << (COMPATIBILITY_LEVEL - 544)) | (1L << (ARITHABORT - 544)) | (1L << (ANSI_WARNINGS - 544)) | (1L << (ANSI_PADDING - 544)) | (1L << (ANSI_NULLS - 544)) | (1L << (ANSI_NULL_DEFAULT - 544)) | (1L << (PAGE_VERIFY - 544)) | (1L << (CHECKSUM - 544)) | (1L << (TORN_PAGE_DETECTION - 544)) | (1L << (BULK_LOGGED - 544)) | (1L << (RECOVERY - 544)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 544)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 544)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 544)) | (1L << (EXECUTION_COUNT - 544)) | (1L << (QUERY_CAPTURE_POLICY - 544)) | (1L << (WAIT_STATS_CAPTURE_MODE - 544)) | (1L << (MAX_PLANS_PER_QUERY - 544)) | (1L << (QUERY_CAPTURE_MODE - 544)) | (1L << (SIZE_BASED_CLEANUP_MODE - 544)) | (1L << (INTERVAL_LENGTH_MINUTES - 544)) | (1L << (MAX_STORAGE_SIZE_MB - 544)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 544)) | (1L << (CLEANUP_POLICY - 544)) | (1L << (CUSTOM - 544)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 544)) | (1L << (OPERATION_MODE - 544)) | (1L << (QUERY_STORE - 544)) | (1L << (CURSOR_DEFAULT - 544)) | (1L << (GLOBAL - 544)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 544)) | (1L << (HOURS - 544)) | (1L << (CHANGE_RETENTION - 544)) | (1L << (AUTO_CLEANUP - 544)) | (1L << (CHANGE_TRACKING - 544)) | (1L << (AUTOMATIC_TUNING - 544)) | (1L << (FORCE_LAST_GOOD_PLAN - 544)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 544)) | (1L << (AUTO_UPDATE_STATISTICS - 544)) | (1L << (AUTO_SHRINK - 544)) | (1L << (AUTO_CREATE_STATISTICS - 544)) | (1L << (INCREMENTAL - 544)) | (1L << (AUTO_CLOSE - 544)) | (1L << (DATA_RETENTION - 544)) | (1L << (TEMPORAL_HISTORY_RETENTION - 544)) | (1L << (EDITION - 544)))) != 0) || ((((_la - 608)) & ~0x3f) == 0 && ((1L << (_la - 608)) & ((1L << (MIXED_PAGE_ALLOCATION - 608)) | (1L << (DISABLED - 608)) | (1L << (ALLOWED - 608)) | (1L << (HADR - 608)) | (1L << (MULTI_USER - 608)) | (1L << (RESTRICTED_USER - 608)) | (1L << (SINGLE_USER - 608)) | (1L << (OFFLINE - 608)) | (1L << (EMERGENCY - 608)) | (1L << (SUSPEND - 608)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 608)) | (1L << (ELASTIC_POOL - 608)) | (1L << (SERVICE_OBJECTIVE - 608)) | (1L << (DATABASE_NAME - 608)) | (1L << (ALLOW_CONNECTIONS - 608)) | (1L << (GEO - 608)) | (1L << (NAMED - 608)) | (1L << (DATEFIRST - 608)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 608)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 608)) | (1L << (SECONDARY - 608)) | (1L << (FAILOVER - 608)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 608)) | (1L << (DEFAULT_LANGUAGE - 608)) | (1L << (INLINE - 608)) | (1L << (NESTED_TRIGGERS - 608)) | (1L << (TRANSFORM_NOISE_WORDS - 608)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 608)) | (1L << (PERSISTENT_LOG_BUFFER - 608)) | (1L << (DIRECTORY_NAME - 608)) | (1L << (DATEFORMAT - 608)) | (1L << (DELAYED_DURABILITY - 608)) | (1L << (AUTHORIZATION - 608)) | (1L << (TRANSFER - 608)) | (1L << (SEARCH - 608)) | (1L << (MEMBER - 608)))) != 0) || _la==IDENTIFIER_ || _la==DELIMITED_IDENTIFIER_) {
26308 {
26309 setState(3697);
26310 procParameter();
26311 setState(3702);
26312 _errHandler.sync(this);
26313 _la = _input.LA(1);
26314 while (_la==COMMA_) {
26315 {
26316 {
26317 setState(3698);
26318 match(COMMA_);
26319 setState(3699);
26320 procParameter();
26321 }
26322 }
26323 setState(3704);
26324 _errHandler.sync(this);
26325 _la = _input.LA(1);
26326 }
26327 }
26328 }
26329
26330 }
26331 }
26332 catch (RecognitionException re) {
26333 _localctx.exception = re;
26334 _errHandler.reportError(this, re);
26335 _errHandler.recover(this, re);
26336 }
26337 finally {
26338 exitRule();
26339 }
26340 return _localctx;
26341 }
26342
26343 public static class ProcParameterContext extends ParserRuleContext {
26344 public VariableContext variable() {
26345 return getRuleContext(VariableContext.class,0);
26346 }
26347 public TerminalNode VARYING() { return getToken(SQLServerStatementParser.VARYING, 0); }
26348 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
26349 public LiteralsContext literals() {
26350 return getRuleContext(LiteralsContext.class,0);
26351 }
26352 public TerminalNode OUT() { return getToken(SQLServerStatementParser.OUT, 0); }
26353 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
26354 public TerminalNode READONLY() { return getToken(SQLServerStatementParser.READONLY, 0); }
26355 public ProcParameterContext(ParserRuleContext parent, int invokingState) {
26356 super(parent, invokingState);
26357 }
26358 @Override public int getRuleIndex() { return RULE_procParameter; }
26359 @Override
26360 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26361 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcParameter(this);
26362 else return visitor.visitChildren(this);
26363 }
26364 }
26365
26366 public final ProcParameterContext procParameter() throws RecognitionException {
26367 ProcParameterContext _localctx = new ProcParameterContext(_ctx, getState());
26368 enterRule(_localctx, 542, RULE_procParameter);
26369 int _la;
26370 try {
26371 enterOuterAlt(_localctx, 1);
26372 {
26373 setState(3707);
26374 variable();
26375 setState(3709);
26376 _errHandler.sync(this);
26377 _la = _input.LA(1);
26378 if (_la==VARYING) {
26379 {
26380 setState(3708);
26381 match(VARYING);
26382 }
26383 }
26384
26385 setState(3713);
26386 _errHandler.sync(this);
26387 _la = _input.LA(1);
26388 if (_la==EQ_) {
26389 {
26390 setState(3711);
26391 match(EQ_);
26392 setState(3712);
26393 literals();
26394 }
26395 }
26396
26397 setState(3716);
26398 _errHandler.sync(this);
26399 _la = _input.LA(1);
26400 if (_la==READONLY || _la==OUTPUT || _la==OUT) {
26401 {
26402 setState(3715);
26403 _la = _input.LA(1);
26404 if ( !(_la==READONLY || _la==OUTPUT || _la==OUT) ) {
26405 _errHandler.recoverInline(this);
26406 }
26407 else {
26408 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26409 _errHandler.reportMatch(this);
26410 consume();
26411 }
26412 }
26413 }
26414
26415 }
26416 }
26417 catch (RecognitionException re) {
26418 _localctx.exception = re;
26419 _errHandler.reportError(this, re);
26420 _errHandler.recover(this, re);
26421 }
26422 finally {
26423 exitRule();
26424 }
26425 return _localctx;
26426 }
26427
26428 public static class CreateOrAlterProcClauseContext extends ParserRuleContext {
26429 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
26430 public ProcAsClauseContext procAsClause() {
26431 return getRuleContext(ProcAsClauseContext.class,0);
26432 }
26433 public WithCreateProcOptionContext withCreateProcOption() {
26434 return getRuleContext(WithCreateProcOptionContext.class,0);
26435 }
26436 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
26437 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
26438 public CreateOrAlterProcClauseContext(ParserRuleContext parent, int invokingState) {
26439 super(parent, invokingState);
26440 }
26441 @Override public int getRuleIndex() { return RULE_createOrAlterProcClause; }
26442 @Override
26443 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26444 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterProcClause(this);
26445 else return visitor.visitChildren(this);
26446 }
26447 }
26448
26449 public final CreateOrAlterProcClauseContext createOrAlterProcClause() throws RecognitionException {
26450 CreateOrAlterProcClauseContext _localctx = new CreateOrAlterProcClauseContext(_ctx, getState());
26451 enterRule(_localctx, 544, RULE_createOrAlterProcClause);
26452 int _la;
26453 try {
26454 enterOuterAlt(_localctx, 1);
26455 {
26456 setState(3719);
26457 _errHandler.sync(this);
26458 _la = _input.LA(1);
26459 if (_la==WITH) {
26460 {
26461 setState(3718);
26462 withCreateProcOption();
26463 }
26464 }
26465
26466 setState(3723);
26467 _errHandler.sync(this);
26468 _la = _input.LA(1);
26469 if (_la==FOR) {
26470 {
26471 setState(3721);
26472 match(FOR);
26473 setState(3722);
26474 match(REPLICATION);
26475 }
26476 }
26477
26478 setState(3725);
26479 match(AS);
26480 setState(3726);
26481 procAsClause();
26482 }
26483 }
26484 catch (RecognitionException re) {
26485 _localctx.exception = re;
26486 _errHandler.reportError(this, re);
26487 _errHandler.recover(this, re);
26488 }
26489 finally {
26490 exitRule();
26491 }
26492 return _localctx;
26493 }
26494
26495 public static class WithCreateProcOptionContext extends ParserRuleContext {
26496 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
26497 public List<ProcOptionContext> procOption() {
26498 return getRuleContexts(ProcOptionContext.class);
26499 }
26500 public ProcOptionContext procOption(int i) {
26501 return getRuleContext(ProcOptionContext.class,i);
26502 }
26503 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26504 public TerminalNode COMMA_(int i) {
26505 return getToken(SQLServerStatementParser.COMMA_, i);
26506 }
26507 public WithCreateProcOptionContext(ParserRuleContext parent, int invokingState) {
26508 super(parent, invokingState);
26509 }
26510 @Override public int getRuleIndex() { return RULE_withCreateProcOption; }
26511 @Override
26512 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26513 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithCreateProcOption(this);
26514 else return visitor.visitChildren(this);
26515 }
26516 }
26517
26518 public final WithCreateProcOptionContext withCreateProcOption() throws RecognitionException {
26519 WithCreateProcOptionContext _localctx = new WithCreateProcOptionContext(_ctx, getState());
26520 enterRule(_localctx, 546, RULE_withCreateProcOption);
26521 int _la;
26522 try {
26523 enterOuterAlt(_localctx, 1);
26524 {
26525 setState(3728);
26526 match(WITH);
26527 setState(3737);
26528 _errHandler.sync(this);
26529 _la = _input.LA(1);
26530 if (((((_la - 299)) & ~0x3f) == 0 && ((1L << (_la - 299)) & ((1L << (EXECUTE - 299)) | (1L << (EXEC - 299)) | (1L << (ENCRYPTION - 299)))) != 0) || ((((_la - 470)) & ~0x3f) == 0 && ((1L << (_la - 470)) & ((1L << (RECOMPILE - 470)) | (1L << (SCHEMABINDING - 470)) | (1L << (NATIVE_COMPILATION - 470)))) != 0)) {
26531 {
26532 setState(3729);
26533 procOption();
26534 setState(3734);
26535 _errHandler.sync(this);
26536 _la = _input.LA(1);
26537 while (_la==COMMA_) {
26538 {
26539 {
26540 setState(3730);
26541 match(COMMA_);
26542 setState(3731);
26543 procOption();
26544 }
26545 }
26546 setState(3736);
26547 _errHandler.sync(this);
26548 _la = _input.LA(1);
26549 }
26550 }
26551 }
26552
26553 }
26554 }
26555 catch (RecognitionException re) {
26556 _localctx.exception = re;
26557 _errHandler.reportError(this, re);
26558 _errHandler.recover(this, re);
26559 }
26560 finally {
26561 exitRule();
26562 }
26563 return _localctx;
26564 }
26565
26566 public static class ProcOptionContext extends ParserRuleContext {
26567 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
26568 public TerminalNode RECOMPILE() { return getToken(SQLServerStatementParser.RECOMPILE, 0); }
26569 public ExecuteAsClauseContext executeAsClause() {
26570 return getRuleContext(ExecuteAsClauseContext.class,0);
26571 }
26572 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
26573 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
26574 public ProcOptionContext(ParserRuleContext parent, int invokingState) {
26575 super(parent, invokingState);
26576 }
26577 @Override public int getRuleIndex() { return RULE_procOption; }
26578 @Override
26579 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26580 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcOption(this);
26581 else return visitor.visitChildren(this);
26582 }
26583 }
26584
26585 public final ProcOptionContext procOption() throws RecognitionException {
26586 ProcOptionContext _localctx = new ProcOptionContext(_ctx, getState());
26587 enterRule(_localctx, 548, RULE_procOption);
26588 try {
26589 setState(3744);
26590 _errHandler.sync(this);
26591 switch (_input.LA(1)) {
26592 case ENCRYPTION:
26593 enterOuterAlt(_localctx, 1);
26594 {
26595 setState(3739);
26596 match(ENCRYPTION);
26597 }
26598 break;
26599 case RECOMPILE:
26600 enterOuterAlt(_localctx, 2);
26601 {
26602 setState(3740);
26603 match(RECOMPILE);
26604 }
26605 break;
26606 case EXECUTE:
26607 case EXEC:
26608 enterOuterAlt(_localctx, 3);
26609 {
26610 setState(3741);
26611 executeAsClause();
26612 }
26613 break;
26614 case NATIVE_COMPILATION:
26615 enterOuterAlt(_localctx, 4);
26616 {
26617 setState(3742);
26618 match(NATIVE_COMPILATION);
26619 }
26620 break;
26621 case SCHEMABINDING:
26622 enterOuterAlt(_localctx, 5);
26623 {
26624 setState(3743);
26625 match(SCHEMABINDING);
26626 }
26627 break;
26628 default:
26629 throw new NoViableAltException(this);
26630 }
26631 }
26632 catch (RecognitionException re) {
26633 _localctx.exception = re;
26634 _errHandler.reportError(this, re);
26635 _errHandler.recover(this, re);
26636 }
26637 finally {
26638 exitRule();
26639 }
26640 return _localctx;
26641 }
26642
26643 public static class ProcAsClauseContext extends ParserRuleContext {
26644 public CompoundStatementContext compoundStatement() {
26645 return getRuleContext(CompoundStatementContext.class,0);
26646 }
26647 public TerminalNode BEGIN() { return getToken(SQLServerStatementParser.BEGIN, 0); }
26648 public TerminalNode END() { return getToken(SQLServerStatementParser.END, 0); }
26649 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
26650 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
26651 public NameContext name() {
26652 return getRuleContext(NameContext.class,0);
26653 }
26654 public List<OwnerContext> owner() {
26655 return getRuleContexts(OwnerContext.class);
26656 }
26657 public OwnerContext owner(int i) {
26658 return getRuleContext(OwnerContext.class,i);
26659 }
26660 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
26661 public TerminalNode DOT_(int i) {
26662 return getToken(SQLServerStatementParser.DOT_, i);
26663 }
26664 public TerminalNode ATOMIC() { return getToken(SQLServerStatementParser.ATOMIC, 0); }
26665 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
26666 public List<ProcSetOptionContext> procSetOption() {
26667 return getRuleContexts(ProcSetOptionContext.class);
26668 }
26669 public ProcSetOptionContext procSetOption(int i) {
26670 return getRuleContext(ProcSetOptionContext.class,i);
26671 }
26672 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26673 public TerminalNode COMMA_(int i) {
26674 return getToken(SQLServerStatementParser.COMMA_, i);
26675 }
26676 public ProcAsClauseContext(ParserRuleContext parent, int invokingState) {
26677 super(parent, invokingState);
26678 }
26679 @Override public int getRuleIndex() { return RULE_procAsClause; }
26680 @Override
26681 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26682 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcAsClause(this);
26683 else return visitor.visitChildren(this);
26684 }
26685 }
26686
26687 public final ProcAsClauseContext procAsClause() throws RecognitionException {
26688 ProcAsClauseContext _localctx = new ProcAsClauseContext(_ctx, getState());
26689 enterRule(_localctx, 550, RULE_procAsClause);
26690 int _la;
26691 try {
26692 setState(3781);
26693 _errHandler.sync(this);
26694 switch ( getInterpreter().adaptivePredict(_input,391,_ctx) ) {
26695 case 1:
26696 enterOuterAlt(_localctx, 1);
26697 {
26698 setState(3747);
26699 _errHandler.sync(this);
26700 _la = _input.LA(1);
26701 if (_la==BEGIN) {
26702 {
26703 setState(3746);
26704 match(BEGIN);
26705 }
26706 }
26707
26708 setState(3749);
26709 compoundStatement();
26710 setState(3751);
26711 _errHandler.sync(this);
26712 _la = _input.LA(1);
26713 if (_la==END) {
26714 {
26715 setState(3750);
26716 match(END);
26717 }
26718 }
26719
26720 }
26721 break;
26722 case 2:
26723 enterOuterAlt(_localctx, 2);
26724 {
26725 setState(3753);
26726 match(EXTERNAL);
26727 setState(3754);
26728 match(NAME);
26729 setState(3758);
26730 _errHandler.sync(this);
26731 switch ( getInterpreter().adaptivePredict(_input,387,_ctx) ) {
26732 case 1:
26733 {
26734 setState(3755);
26735 owner();
26736 setState(3756);
26737 match(DOT_);
26738 }
26739 break;
26740 }
26741 setState(3763);
26742 _errHandler.sync(this);
26743 switch ( getInterpreter().adaptivePredict(_input,388,_ctx) ) {
26744 case 1:
26745 {
26746 setState(3760);
26747 owner();
26748 setState(3761);
26749 match(DOT_);
26750 }
26751 break;
26752 }
26753 setState(3765);
26754 name();
26755 }
26756 break;
26757 case 3:
26758 enterOuterAlt(_localctx, 3);
26759 {
26760 setState(3766);
26761 match(BEGIN);
26762 setState(3767);
26763 match(ATOMIC);
26764 setState(3768);
26765 match(WITH);
26766 setState(3769);
26767 procSetOption();
26768 setState(3774);
26769 _errHandler.sync(this);
26770 _la = _input.LA(1);
26771 while (_la==COMMA_) {
26772 {
26773 {
26774 setState(3770);
26775 match(COMMA_);
26776 setState(3771);
26777 procSetOption();
26778 }
26779 }
26780 setState(3776);
26781 _errHandler.sync(this);
26782 _la = _input.LA(1);
26783 }
26784 setState(3777);
26785 compoundStatement();
26786 setState(3779);
26787 _errHandler.sync(this);
26788 _la = _input.LA(1);
26789 if (_la==END) {
26790 {
26791 setState(3778);
26792 match(END);
26793 }
26794 }
26795
26796 }
26797 break;
26798 }
26799 }
26800 catch (RecognitionException re) {
26801 _localctx.exception = re;
26802 _errHandler.reportError(this, re);
26803 _errHandler.recover(this, re);
26804 }
26805 finally {
26806 exitRule();
26807 }
26808 return _localctx;
26809 }
26810
26811 public static class ProcSetOptionContext extends ParserRuleContext {
26812 public TerminalNode LANGUAGE() { return getToken(SQLServerStatementParser.LANGUAGE, 0); }
26813 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
26814 public StringLiteralsContext stringLiterals() {
26815 return getRuleContext(StringLiteralsContext.class,0);
26816 }
26817 public TerminalNode TRANSACTION() { return getToken(SQLServerStatementParser.TRANSACTION, 0); }
26818 public TerminalNode ISOLATION() { return getToken(SQLServerStatementParser.ISOLATION, 0); }
26819 public TerminalNode LEVEL() { return getToken(SQLServerStatementParser.LEVEL, 0); }
26820 public TerminalNode SNAPSHOT() { return getToken(SQLServerStatementParser.SNAPSHOT, 0); }
26821 public TerminalNode REPEATABLE() { return getToken(SQLServerStatementParser.REPEATABLE, 0); }
26822 public TerminalNode READ() { return getToken(SQLServerStatementParser.READ, 0); }
26823 public TerminalNode SERIALIZABLE() { return getToken(SQLServerStatementParser.SERIALIZABLE, 0); }
26824 public TerminalNode DATEFIRST() { return getToken(SQLServerStatementParser.DATEFIRST, 0); }
26825 public NumberLiteralsContext numberLiterals() {
26826 return getRuleContext(NumberLiteralsContext.class,0);
26827 }
26828 public TerminalNode DATEFORMAT() { return getToken(SQLServerStatementParser.DATEFORMAT, 0); }
26829 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
26830 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
26831 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
26832 public ProcSetOptionContext(ParserRuleContext parent, int invokingState) {
26833 super(parent, invokingState);
26834 }
26835 @Override public int getRuleIndex() { return RULE_procSetOption; }
26836 @Override
26837 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26838 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProcSetOption(this);
26839 else return visitor.visitChildren(this);
26840 }
26841 }
26842
26843 public final ProcSetOptionContext procSetOption() throws RecognitionException {
26844 ProcSetOptionContext _localctx = new ProcSetOptionContext(_ctx, getState());
26845 enterRule(_localctx, 552, RULE_procSetOption);
26846 int _la;
26847 try {
26848 setState(3805);
26849 _errHandler.sync(this);
26850 switch (_input.LA(1)) {
26851 case LANGUAGE:
26852 enterOuterAlt(_localctx, 1);
26853 {
26854 setState(3783);
26855 match(LANGUAGE);
26856 setState(3784);
26857 match(EQ_);
26858 setState(3785);
26859 stringLiterals();
26860 }
26861 break;
26862 case TRANSACTION:
26863 enterOuterAlt(_localctx, 2);
26864 {
26865 setState(3786);
26866 match(TRANSACTION);
26867 setState(3787);
26868 match(ISOLATION);
26869 setState(3788);
26870 match(LEVEL);
26871 setState(3789);
26872 match(EQ_);
26873 setState(3794);
26874 _errHandler.sync(this);
26875 switch (_input.LA(1)) {
26876 case SNAPSHOT:
26877 {
26878 setState(3790);
26879 match(SNAPSHOT);
26880 }
26881 break;
26882 case REPEATABLE:
26883 {
26884 setState(3791);
26885 match(REPEATABLE);
26886 setState(3792);
26887 match(READ);
26888 }
26889 break;
26890 case SERIALIZABLE:
26891 {
26892 setState(3793);
26893 match(SERIALIZABLE);
26894 }
26895 break;
26896 default:
26897 throw new NoViableAltException(this);
26898 }
26899 }
26900 break;
26901 case DATEFIRST:
26902 enterOuterAlt(_localctx, 3);
26903 {
26904 setState(3796);
26905 match(DATEFIRST);
26906 setState(3797);
26907 match(EQ_);
26908 setState(3798);
26909 numberLiterals();
26910 }
26911 break;
26912 case DATEFORMAT:
26913 enterOuterAlt(_localctx, 4);
26914 {
26915 setState(3799);
26916 match(DATEFORMAT);
26917 setState(3800);
26918 match(EQ_);
26919 setState(3801);
26920 stringLiterals();
26921 }
26922 break;
26923 case DELAYED_DURABILITY:
26924 enterOuterAlt(_localctx, 5);
26925 {
26926 setState(3802);
26927 match(DELAYED_DURABILITY);
26928 setState(3803);
26929 match(EQ_);
26930 setState(3804);
26931 _la = _input.LA(1);
26932 if ( !(_la==ON || _la==OFF) ) {
26933 _errHandler.recoverInline(this);
26934 }
26935 else {
26936 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
26937 _errHandler.reportMatch(this);
26938 consume();
26939 }
26940 }
26941 break;
26942 default:
26943 throw new NoViableAltException(this);
26944 }
26945 }
26946 catch (RecognitionException re) {
26947 _localctx.exception = re;
26948 _errHandler.reportError(this, re);
26949 _errHandler.recover(this, re);
26950 }
26951 finally {
26952 exitRule();
26953 }
26954 return _localctx;
26955 }
26956
26957 public static class CreateOrAlterViewClauseContext extends ParserRuleContext {
26958 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
26959 public SelectContext select() {
26960 return getRuleContext(SelectContext.class,0);
26961 }
26962 public List<TerminalNode> WITH() { return getTokens(SQLServerStatementParser.WITH); }
26963 public TerminalNode WITH(int i) {
26964 return getToken(SQLServerStatementParser.WITH, i);
26965 }
26966 public List<ViewAttributeContext> viewAttribute() {
26967 return getRuleContexts(ViewAttributeContext.class);
26968 }
26969 public ViewAttributeContext viewAttribute(int i) {
26970 return getRuleContext(ViewAttributeContext.class,i);
26971 }
26972 public WithCommonTableExprContext withCommonTableExpr() {
26973 return getRuleContext(WithCommonTableExprContext.class,0);
26974 }
26975 public TerminalNode CHECK() { return getToken(SQLServerStatementParser.CHECK, 0); }
26976 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
26977 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
26978 public TerminalNode COMMA_(int i) {
26979 return getToken(SQLServerStatementParser.COMMA_, i);
26980 }
26981 public CreateOrAlterViewClauseContext(ParserRuleContext parent, int invokingState) {
26982 super(parent, invokingState);
26983 }
26984 @Override public int getRuleIndex() { return RULE_createOrAlterViewClause; }
26985 @Override
26986 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
26987 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterViewClause(this);
26988 else return visitor.visitChildren(this);
26989 }
26990 }
26991
26992 public final CreateOrAlterViewClauseContext createOrAlterViewClause() throws RecognitionException {
26993 CreateOrAlterViewClauseContext _localctx = new CreateOrAlterViewClauseContext(_ctx, getState());
26994 enterRule(_localctx, 554, RULE_createOrAlterViewClause);
26995 int _la;
26996 try {
26997 enterOuterAlt(_localctx, 1);
26998 {
26999 setState(3816);
27000 _errHandler.sync(this);
27001 _la = _input.LA(1);
27002 if (_la==WITH) {
27003 {
27004 setState(3807);
27005 match(WITH);
27006 setState(3808);
27007 viewAttribute();
27008 setState(3813);
27009 _errHandler.sync(this);
27010 _la = _input.LA(1);
27011 while (_la==COMMA_) {
27012 {
27013 {
27014 setState(3809);
27015 match(COMMA_);
27016 setState(3810);
27017 viewAttribute();
27018 }
27019 }
27020 setState(3815);
27021 _errHandler.sync(this);
27022 _la = _input.LA(1);
27023 }
27024 }
27025 }
27026
27027 setState(3818);
27028 match(AS);
27029 setState(3820);
27030 _errHandler.sync(this);
27031 switch ( getInterpreter().adaptivePredict(_input,396,_ctx) ) {
27032 case 1:
27033 {
27034 setState(3819);
27035 withCommonTableExpr();
27036 }
27037 break;
27038 }
27039 setState(3822);
27040 select();
27041 setState(3826);
27042 _errHandler.sync(this);
27043 _la = _input.LA(1);
27044 if (_la==WITH) {
27045 {
27046 setState(3823);
27047 match(WITH);
27048 setState(3824);
27049 match(CHECK);
27050 setState(3825);
27051 match(OPTION);
27052 }
27053 }
27054
27055 }
27056 }
27057 catch (RecognitionException re) {
27058 _localctx.exception = re;
27059 _errHandler.reportError(this, re);
27060 _errHandler.recover(this, re);
27061 }
27062 finally {
27063 exitRule();
27064 }
27065 return _localctx;
27066 }
27067
27068 public static class ViewAttributeContext extends ParserRuleContext {
27069 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
27070 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
27071 public TerminalNode VIEW_METADATA() { return getToken(SQLServerStatementParser.VIEW_METADATA, 0); }
27072 public ViewAttributeContext(ParserRuleContext parent, int invokingState) {
27073 super(parent, invokingState);
27074 }
27075 @Override public int getRuleIndex() { return RULE_viewAttribute; }
27076 @Override
27077 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27078 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitViewAttribute(this);
27079 else return visitor.visitChildren(this);
27080 }
27081 }
27082
27083 public final ViewAttributeContext viewAttribute() throws RecognitionException {
27084 ViewAttributeContext _localctx = new ViewAttributeContext(_ctx, getState());
27085 enterRule(_localctx, 556, RULE_viewAttribute);
27086 int _la;
27087 try {
27088 enterOuterAlt(_localctx, 1);
27089 {
27090 setState(3828);
27091 _la = _input.LA(1);
27092 if ( !(_la==ENCRYPTION || _la==SCHEMABINDING || _la==VIEW_METADATA) ) {
27093 _errHandler.recoverInline(this);
27094 }
27095 else {
27096 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27097 _errHandler.reportMatch(this);
27098 consume();
27099 }
27100 }
27101 }
27102 catch (RecognitionException re) {
27103 _localctx.exception = re;
27104 _errHandler.reportError(this, re);
27105 _errHandler.recover(this, re);
27106 }
27107 finally {
27108 exitRule();
27109 }
27110 return _localctx;
27111 }
27112
27113 public static class WithCommonTableExprContext extends ParserRuleContext {
27114 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27115 public List<CommonTableExprContext> commonTableExpr() {
27116 return getRuleContexts(CommonTableExprContext.class);
27117 }
27118 public CommonTableExprContext commonTableExpr(int i) {
27119 return getRuleContext(CommonTableExprContext.class,i);
27120 }
27121 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27122 public TerminalNode COMMA_(int i) {
27123 return getToken(SQLServerStatementParser.COMMA_, i);
27124 }
27125 public WithCommonTableExprContext(ParserRuleContext parent, int invokingState) {
27126 super(parent, invokingState);
27127 }
27128 @Override public int getRuleIndex() { return RULE_withCommonTableExpr; }
27129 @Override
27130 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27131 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithCommonTableExpr(this);
27132 else return visitor.visitChildren(this);
27133 }
27134 }
27135
27136 public final WithCommonTableExprContext withCommonTableExpr() throws RecognitionException {
27137 WithCommonTableExprContext _localctx = new WithCommonTableExprContext(_ctx, getState());
27138 enterRule(_localctx, 558, RULE_withCommonTableExpr);
27139 int _la;
27140 try {
27141 enterOuterAlt(_localctx, 1);
27142 {
27143 setState(3830);
27144 match(WITH);
27145 setState(3831);
27146 commonTableExpr();
27147 setState(3836);
27148 _errHandler.sync(this);
27149 _la = _input.LA(1);
27150 while (_la==COMMA_) {
27151 {
27152 {
27153 setState(3832);
27154 match(COMMA_);
27155 setState(3833);
27156 commonTableExpr();
27157 }
27158 }
27159 setState(3838);
27160 _errHandler.sync(this);
27161 _la = _input.LA(1);
27162 }
27163 }
27164 }
27165 catch (RecognitionException re) {
27166 _localctx.exception = re;
27167 _errHandler.reportError(this, re);
27168 _errHandler.recover(this, re);
27169 }
27170 finally {
27171 exitRule();
27172 }
27173 return _localctx;
27174 }
27175
27176 public static class CommonTableExprContext extends ParserRuleContext {
27177 public NameContext name() {
27178 return getRuleContext(NameContext.class,0);
27179 }
27180 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27181 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
27182 public TerminalNode LP_(int i) {
27183 return getToken(SQLServerStatementParser.LP_, i);
27184 }
27185 public SelectContext select() {
27186 return getRuleContext(SelectContext.class,0);
27187 }
27188 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
27189 public TerminalNode RP_(int i) {
27190 return getToken(SQLServerStatementParser.RP_, i);
27191 }
27192 public List<ColumnNameContext> columnName() {
27193 return getRuleContexts(ColumnNameContext.class);
27194 }
27195 public ColumnNameContext columnName(int i) {
27196 return getRuleContext(ColumnNameContext.class,i);
27197 }
27198 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27199 public TerminalNode COMMA_(int i) {
27200 return getToken(SQLServerStatementParser.COMMA_, i);
27201 }
27202 public CommonTableExprContext(ParserRuleContext parent, int invokingState) {
27203 super(parent, invokingState);
27204 }
27205 @Override public int getRuleIndex() { return RULE_commonTableExpr; }
27206 @Override
27207 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27208 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommonTableExpr(this);
27209 else return visitor.visitChildren(this);
27210 }
27211 }
27212
27213 public final CommonTableExprContext commonTableExpr() throws RecognitionException {
27214 CommonTableExprContext _localctx = new CommonTableExprContext(_ctx, getState());
27215 enterRule(_localctx, 560, RULE_commonTableExpr);
27216 int _la;
27217 try {
27218 enterOuterAlt(_localctx, 1);
27219 {
27220 setState(3839);
27221 name();
27222 setState(3851);
27223 _errHandler.sync(this);
27224 _la = _input.LA(1);
27225 if (_la==LP_) {
27226 {
27227 setState(3840);
27228 match(LP_);
27229 setState(3841);
27230 columnName();
27231 setState(3846);
27232 _errHandler.sync(this);
27233 _la = _input.LA(1);
27234 while (_la==COMMA_) {
27235 {
27236 {
27237 setState(3842);
27238 match(COMMA_);
27239 setState(3843);
27240 columnName();
27241 }
27242 }
27243 setState(3848);
27244 _errHandler.sync(this);
27245 _la = _input.LA(1);
27246 }
27247 setState(3849);
27248 match(RP_);
27249 }
27250 }
27251
27252 setState(3853);
27253 match(AS);
27254 setState(3854);
27255 match(LP_);
27256 setState(3855);
27257 select();
27258 setState(3856);
27259 match(RP_);
27260 }
27261 }
27262 catch (RecognitionException re) {
27263 _localctx.exception = re;
27264 _errHandler.reportError(this, re);
27265 _errHandler.recover(this, re);
27266 }
27267 finally {
27268 exitRule();
27269 }
27270 return _localctx;
27271 }
27272
27273 public static class CreateTriggerClauseContext extends ParserRuleContext {
27274 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27275 public List<TerminalNode> FOR() { return getTokens(SQLServerStatementParser.FOR); }
27276 public TerminalNode FOR(int i) {
27277 return getToken(SQLServerStatementParser.FOR, i);
27278 }
27279 public TerminalNode AFTER() { return getToken(SQLServerStatementParser.AFTER, 0); }
27280 public TerminalNode INSTEAD() { return getToken(SQLServerStatementParser.INSTEAD, 0); }
27281 public TerminalNode OF() { return getToken(SQLServerStatementParser.OF, 0); }
27282 public CompoundStatementContext compoundStatement() {
27283 return getRuleContext(CompoundStatementContext.class,0);
27284 }
27285 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
27286 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
27287 public MethodSpecifierContext methodSpecifier() {
27288 return getRuleContext(MethodSpecifierContext.class,0);
27289 }
27290 public List<TerminalNode> WITH() { return getTokens(SQLServerStatementParser.WITH); }
27291 public TerminalNode WITH(int i) {
27292 return getToken(SQLServerStatementParser.WITH, i);
27293 }
27294 public List<DmlTriggerOptionContext> dmlTriggerOption() {
27295 return getRuleContexts(DmlTriggerOptionContext.class);
27296 }
27297 public DmlTriggerOptionContext dmlTriggerOption(int i) {
27298 return getRuleContext(DmlTriggerOptionContext.class,i);
27299 }
27300 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27301 public TerminalNode COMMA_(int i) {
27302 return getToken(SQLServerStatementParser.COMMA_, i);
27303 }
27304 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
27305 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
27306 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
27307 public TerminalNode APPEND() { return getToken(SQLServerStatementParser.APPEND, 0); }
27308 public TerminalNode NOT() { return getToken(SQLServerStatementParser.NOT, 0); }
27309 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
27310 public CreateTriggerClauseContext(ParserRuleContext parent, int invokingState) {
27311 super(parent, invokingState);
27312 }
27313 @Override public int getRuleIndex() { return RULE_createTriggerClause; }
27314 @Override
27315 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27316 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTriggerClause(this);
27317 else return visitor.visitChildren(this);
27318 }
27319 }
27320
27321 public final CreateTriggerClauseContext createTriggerClause() throws RecognitionException {
27322 CreateTriggerClauseContext _localctx = new CreateTriggerClauseContext(_ctx, getState());
27323 enterRule(_localctx, 562, RULE_createTriggerClause);
27324 int _la;
27325 try {
27326 enterOuterAlt(_localctx, 1);
27327 {
27328 setState(3863);
27329 _errHandler.sync(this);
27330 _la = _input.LA(1);
27331 if (_la==WITH) {
27332 {
27333 setState(3858);
27334 match(WITH);
27335 setState(3859);
27336 dmlTriggerOption();
27337 setState(3860);
27338 match(COMMA_);
27339 setState(3861);
27340 dmlTriggerOption();
27341 }
27342 }
27343
27344 setState(3869);
27345 _errHandler.sync(this);
27346 switch (_input.LA(1)) {
27347 case FOR:
27348 {
27349 setState(3865);
27350 match(FOR);
27351 }
27352 break;
27353 case AFTER:
27354 {
27355 setState(3866);
27356 match(AFTER);
27357 }
27358 break;
27359 case INSTEAD:
27360 {
27361 setState(3867);
27362 match(INSTEAD);
27363 setState(3868);
27364 match(OF);
27365 }
27366 break;
27367 default:
27368 throw new NoViableAltException(this);
27369 }
27370 setState(3872);
27371 _errHandler.sync(this);
27372 _la = _input.LA(1);
27373 if (_la==INSERT) {
27374 {
27375 setState(3871);
27376 match(INSERT);
27377 }
27378 }
27379
27380 setState(3875);
27381 _errHandler.sync(this);
27382 switch ( getInterpreter().adaptivePredict(_input,404,_ctx) ) {
27383 case 1:
27384 {
27385 setState(3874);
27386 match(COMMA_);
27387 }
27388 break;
27389 }
27390 setState(3878);
27391 _errHandler.sync(this);
27392 _la = _input.LA(1);
27393 if (_la==UPDATE) {
27394 {
27395 setState(3877);
27396 match(UPDATE);
27397 }
27398 }
27399
27400 setState(3881);
27401 _errHandler.sync(this);
27402 switch ( getInterpreter().adaptivePredict(_input,406,_ctx) ) {
27403 case 1:
27404 {
27405 setState(3880);
27406 match(COMMA_);
27407 }
27408 break;
27409 }
27410 setState(3884);
27411 _errHandler.sync(this);
27412 _la = _input.LA(1);
27413 if (_la==DELETE) {
27414 {
27415 setState(3883);
27416 match(DELETE);
27417 }
27418 }
27419
27420 setState(3887);
27421 _errHandler.sync(this);
27422 _la = _input.LA(1);
27423 if (_la==COMMA_) {
27424 {
27425 setState(3886);
27426 match(COMMA_);
27427 }
27428 }
27429
27430 setState(3891);
27431 _errHandler.sync(this);
27432 _la = _input.LA(1);
27433 if (_la==WITH) {
27434 {
27435 setState(3889);
27436 match(WITH);
27437 setState(3890);
27438 match(APPEND);
27439 }
27440 }
27441
27442 setState(3896);
27443 _errHandler.sync(this);
27444 _la = _input.LA(1);
27445 if (_la==NOT) {
27446 {
27447 setState(3893);
27448 match(NOT);
27449 setState(3894);
27450 match(FOR);
27451 setState(3895);
27452 match(REPLICATION);
27453 }
27454 }
27455
27456 setState(3898);
27457 match(AS);
27458 setState(3903);
27459 _errHandler.sync(this);
27460 switch (_input.LA(1)) {
27461 case EOF:
27462 case SEMI_:
27463 case SELECT:
27464 case INSERT:
27465 case UPDATE:
27466 case DELETE:
27467 case CREATE:
27468 case ALTER:
27469 case DROP:
27470 case TRUNCATE:
27471 case SET:
27472 case WITH:
27473 case DECLARE:
27474 {
27475 setState(3899);
27476 compoundStatement();
27477 }
27478 break;
27479 case EXTERNAL:
27480 {
27481 setState(3900);
27482 match(EXTERNAL);
27483 setState(3901);
27484 match(NAME);
27485 setState(3902);
27486 methodSpecifier();
27487 }
27488 break;
27489 default:
27490 throw new NoViableAltException(this);
27491 }
27492 }
27493 }
27494 catch (RecognitionException re) {
27495 _localctx.exception = re;
27496 _errHandler.reportError(this, re);
27497 _errHandler.recover(this, re);
27498 }
27499 finally {
27500 exitRule();
27501 }
27502 return _localctx;
27503 }
27504
27505 public static class DmlTriggerOptionContext extends ParserRuleContext {
27506 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
27507 public ExecuteAsClauseContext executeAsClause() {
27508 return getRuleContext(ExecuteAsClauseContext.class,0);
27509 }
27510 public TerminalNode NATIVE_COMPILATION() { return getToken(SQLServerStatementParser.NATIVE_COMPILATION, 0); }
27511 public TerminalNode SCHEMABINDING() { return getToken(SQLServerStatementParser.SCHEMABINDING, 0); }
27512 public DmlTriggerOptionContext(ParserRuleContext parent, int invokingState) {
27513 super(parent, invokingState);
27514 }
27515 @Override public int getRuleIndex() { return RULE_dmlTriggerOption; }
27516 @Override
27517 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27518 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDmlTriggerOption(this);
27519 else return visitor.visitChildren(this);
27520 }
27521 }
27522
27523 public final DmlTriggerOptionContext dmlTriggerOption() throws RecognitionException {
27524 DmlTriggerOptionContext _localctx = new DmlTriggerOptionContext(_ctx, getState());
27525 enterRule(_localctx, 564, RULE_dmlTriggerOption);
27526 try {
27527 setState(3910);
27528 _errHandler.sync(this);
27529 switch (_input.LA(1)) {
27530 case ENCRYPTION:
27531 enterOuterAlt(_localctx, 1);
27532 {
27533 setState(3905);
27534 match(ENCRYPTION);
27535 }
27536 break;
27537 case EXECUTE:
27538 case EXEC:
27539 enterOuterAlt(_localctx, 2);
27540 {
27541 setState(3906);
27542 executeAsClause();
27543 }
27544 break;
27545 case NATIVE_COMPILATION:
27546 enterOuterAlt(_localctx, 3);
27547 {
27548 setState(3907);
27549 match(NATIVE_COMPILATION);
27550 }
27551 break;
27552 case SCHEMABINDING:
27553 enterOuterAlt(_localctx, 4);
27554 {
27555 setState(3908);
27556 match(SCHEMABINDING);
27557 }
27558 break;
27559 case COMMA_:
27560 case FOR:
27561 case AFTER:
27562 case INSTEAD:
27563 enterOuterAlt(_localctx, 5);
27564 {
27565 }
27566 break;
27567 default:
27568 throw new NoViableAltException(this);
27569 }
27570 }
27571 catch (RecognitionException re) {
27572 _localctx.exception = re;
27573 _errHandler.reportError(this, re);
27574 _errHandler.recover(this, re);
27575 }
27576 finally {
27577 exitRule();
27578 }
27579 return _localctx;
27580 }
27581
27582 public static class MethodSpecifierContext extends ParserRuleContext {
27583 public List<NameContext> name() {
27584 return getRuleContexts(NameContext.class);
27585 }
27586 public NameContext name(int i) {
27587 return getRuleContext(NameContext.class,i);
27588 }
27589 public List<TerminalNode> DOT_() { return getTokens(SQLServerStatementParser.DOT_); }
27590 public TerminalNode DOT_(int i) {
27591 return getToken(SQLServerStatementParser.DOT_, i);
27592 }
27593 public MethodSpecifierContext(ParserRuleContext parent, int invokingState) {
27594 super(parent, invokingState);
27595 }
27596 @Override public int getRuleIndex() { return RULE_methodSpecifier; }
27597 @Override
27598 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27599 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMethodSpecifier(this);
27600 else return visitor.visitChildren(this);
27601 }
27602 }
27603
27604 public final MethodSpecifierContext methodSpecifier() throws RecognitionException {
27605 MethodSpecifierContext _localctx = new MethodSpecifierContext(_ctx, getState());
27606 enterRule(_localctx, 566, RULE_methodSpecifier);
27607 try {
27608 enterOuterAlt(_localctx, 1);
27609 {
27610 setState(3912);
27611 name();
27612 setState(3913);
27613 match(DOT_);
27614 setState(3914);
27615 name();
27616 setState(3915);
27617 match(DOT_);
27618 setState(3916);
27619 name();
27620 }
27621 }
27622 catch (RecognitionException re) {
27623 _localctx.exception = re;
27624 _errHandler.reportError(this, re);
27625 _errHandler.recover(this, re);
27626 }
27627 finally {
27628 exitRule();
27629 }
27630 return _localctx;
27631 }
27632
27633 public static class TriggerTargetContext extends ParserRuleContext {
27634 public TableNameContext tableName() {
27635 return getRuleContext(TableNameContext.class,0);
27636 }
27637 public ViewNameContext viewName() {
27638 return getRuleContext(ViewNameContext.class,0);
27639 }
27640 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
27641 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
27642 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
27643 public TriggerTargetContext(ParserRuleContext parent, int invokingState) {
27644 super(parent, invokingState);
27645 }
27646 @Override public int getRuleIndex() { return RULE_triggerTarget; }
27647 @Override
27648 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27649 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTriggerTarget(this);
27650 else return visitor.visitChildren(this);
27651 }
27652 }
27653
27654 public final TriggerTargetContext triggerTarget() throws RecognitionException {
27655 TriggerTargetContext _localctx = new TriggerTargetContext(_ctx, getState());
27656 enterRule(_localctx, 568, RULE_triggerTarget);
27657 try {
27658 setState(3923);
27659 _errHandler.sync(this);
27660 switch ( getInterpreter().adaptivePredict(_input,413,_ctx) ) {
27661 case 1:
27662 enterOuterAlt(_localctx, 1);
27663 {
27664 setState(3918);
27665 tableName();
27666 }
27667 break;
27668 case 2:
27669 enterOuterAlt(_localctx, 2);
27670 {
27671 setState(3919);
27672 viewName();
27673 }
27674 break;
27675 case 3:
27676 enterOuterAlt(_localctx, 3);
27677 {
27678 setState(3920);
27679 match(ALL);
27680 setState(3921);
27681 match(SERVER);
27682 }
27683 break;
27684 case 4:
27685 enterOuterAlt(_localctx, 4);
27686 {
27687 setState(3922);
27688 match(DATABASE);
27689 }
27690 break;
27691 }
27692 }
27693 catch (RecognitionException re) {
27694 _localctx.exception = re;
27695 _errHandler.reportError(this, re);
27696 _errHandler.recover(this, re);
27697 }
27698 finally {
27699 exitRule();
27700 }
27701 return _localctx;
27702 }
27703
27704 public static class CreateOrAlterSequenceClauseContext extends ParserRuleContext {
27705 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
27706 public DataTypeContext dataType() {
27707 return getRuleContext(DataTypeContext.class,0);
27708 }
27709 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27710 public ExprContext expr() {
27711 return getRuleContext(ExprContext.class,0);
27712 }
27713 public TerminalNode START() { return getToken(SQLServerStatementParser.START, 0); }
27714 public TerminalNode RESTART() { return getToken(SQLServerStatementParser.RESTART, 0); }
27715 public TerminalNode INCREMENT() { return getToken(SQLServerStatementParser.INCREMENT, 0); }
27716 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
27717 public TerminalNode MINVALUE() { return getToken(SQLServerStatementParser.MINVALUE, 0); }
27718 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
27719 public TerminalNode MAXVALUE() { return getToken(SQLServerStatementParser.MAXVALUE, 0); }
27720 public TerminalNode CACHE() { return getToken(SQLServerStatementParser.CACHE, 0); }
27721 public TerminalNode CYCLE() { return getToken(SQLServerStatementParser.CYCLE, 0); }
27722 public CreateOrAlterSequenceClauseContext(ParserRuleContext parent, int invokingState) {
27723 super(parent, invokingState);
27724 }
27725 @Override public int getRuleIndex() { return RULE_createOrAlterSequenceClause; }
27726 @Override
27727 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27728 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateOrAlterSequenceClause(this);
27729 else return visitor.visitChildren(this);
27730 }
27731 }
27732
27733 public final CreateOrAlterSequenceClauseContext createOrAlterSequenceClause() throws RecognitionException {
27734 CreateOrAlterSequenceClauseContext _localctx = new CreateOrAlterSequenceClauseContext(_ctx, getState());
27735 enterRule(_localctx, 570, RULE_createOrAlterSequenceClause);
27736 int _la;
27737 try {
27738 setState(3953);
27739 _errHandler.sync(this);
27740 switch ( getInterpreter().adaptivePredict(_input,417,_ctx) ) {
27741 case 1:
27742 enterOuterAlt(_localctx, 1);
27743 {
27744 setState(3925);
27745 match(AS);
27746 setState(3926);
27747 dataType();
27748 }
27749 break;
27750 case 2:
27751 enterOuterAlt(_localctx, 2);
27752 {
27753 setState(3927);
27754 _la = _input.LA(1);
27755 if ( !(_la==START || _la==RESTART) ) {
27756 _errHandler.recoverInline(this);
27757 }
27758 else {
27759 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
27760 _errHandler.reportMatch(this);
27761 consume();
27762 }
27763 setState(3928);
27764 match(WITH);
27765 setState(3929);
27766 expr(0);
27767 }
27768 break;
27769 case 3:
27770 enterOuterAlt(_localctx, 3);
27771 {
27772 setState(3930);
27773 match(INCREMENT);
27774 setState(3931);
27775 match(BY);
27776 setState(3932);
27777 expr(0);
27778 }
27779 break;
27780 case 4:
27781 enterOuterAlt(_localctx, 4);
27782 {
27783 setState(3933);
27784 match(MINVALUE);
27785 setState(3935);
27786 _errHandler.sync(this);
27787 switch ( getInterpreter().adaptivePredict(_input,414,_ctx) ) {
27788 case 1:
27789 {
27790 setState(3934);
27791 expr(0);
27792 }
27793 break;
27794 }
27795 }
27796 break;
27797 case 5:
27798 enterOuterAlt(_localctx, 5);
27799 {
27800 setState(3937);
27801 match(NO);
27802 setState(3938);
27803 match(MINVALUE);
27804 }
27805 break;
27806 case 6:
27807 enterOuterAlt(_localctx, 6);
27808 {
27809 setState(3939);
27810 match(MAXVALUE);
27811 setState(3941);
27812 _errHandler.sync(this);
27813 switch ( getInterpreter().adaptivePredict(_input,415,_ctx) ) {
27814 case 1:
27815 {
27816 setState(3940);
27817 expr(0);
27818 }
27819 break;
27820 }
27821 }
27822 break;
27823 case 7:
27824 enterOuterAlt(_localctx, 7);
27825 {
27826 setState(3943);
27827 match(NO);
27828 setState(3944);
27829 match(MAXVALUE);
27830 }
27831 break;
27832 case 8:
27833 enterOuterAlt(_localctx, 8);
27834 {
27835 setState(3945);
27836 match(CACHE);
27837 setState(3946);
27838 expr(0);
27839 }
27840 break;
27841 case 9:
27842 enterOuterAlt(_localctx, 9);
27843 {
27844 setState(3947);
27845 match(NO);
27846 setState(3948);
27847 match(CACHE);
27848 }
27849 break;
27850 case 10:
27851 enterOuterAlt(_localctx, 10);
27852 {
27853 setState(3950);
27854 _errHandler.sync(this);
27855 _la = _input.LA(1);
27856 if (_la==NO) {
27857 {
27858 setState(3949);
27859 match(NO);
27860 }
27861 }
27862
27863 setState(3952);
27864 match(CYCLE);
27865 }
27866 break;
27867 }
27868 }
27869 catch (RecognitionException re) {
27870 _localctx.exception = re;
27871 _errHandler.reportError(this, re);
27872 _errHandler.recover(this, re);
27873 }
27874 finally {
27875 exitRule();
27876 }
27877 return _localctx;
27878 }
27879
27880 public static class CreateIndexClauseContext extends ParserRuleContext {
27881 public TerminalNode INCLUDE() { return getToken(SQLServerStatementParser.INCLUDE, 0); }
27882 public ColumnNamesWithSortContext columnNamesWithSort() {
27883 return getRuleContext(ColumnNamesWithSortContext.class,0);
27884 }
27885 public TerminalNode WHERE() { return getToken(SQLServerStatementParser.WHERE, 0); }
27886 public FilterPredicateContext filterPredicate() {
27887 return getRuleContext(FilterPredicateContext.class,0);
27888 }
27889 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
27890 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
27891 public TerminalNode LP_(int i) {
27892 return getToken(SQLServerStatementParser.LP_, i);
27893 }
27894 public List<RelationalIndexOptionContext> relationalIndexOption() {
27895 return getRuleContexts(RelationalIndexOptionContext.class);
27896 }
27897 public RelationalIndexOptionContext relationalIndexOption(int i) {
27898 return getRuleContext(RelationalIndexOptionContext.class,i);
27899 }
27900 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
27901 public TerminalNode RP_(int i) {
27902 return getToken(SQLServerStatementParser.RP_, i);
27903 }
27904 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
27905 public TerminalNode FILESTREAM_ON() { return getToken(SQLServerStatementParser.FILESTREAM_ON, 0); }
27906 public SchemaNameContext schemaName() {
27907 return getRuleContext(SchemaNameContext.class,0);
27908 }
27909 public ColumnNameContext columnName() {
27910 return getRuleContext(ColumnNameContext.class,0);
27911 }
27912 public List<NameContext> name() {
27913 return getRuleContexts(NameContext.class);
27914 }
27915 public NameContext name(int i) {
27916 return getRuleContext(NameContext.class,i);
27917 }
27918 public StringLiteralsContext stringLiterals() {
27919 return getRuleContext(StringLiteralsContext.class,0);
27920 }
27921 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
27922 public TerminalNode COMMA_(int i) {
27923 return getToken(SQLServerStatementParser.COMMA_, i);
27924 }
27925 public CreateIndexClauseContext(ParserRuleContext parent, int invokingState) {
27926 super(parent, invokingState);
27927 }
27928 @Override public int getRuleIndex() { return RULE_createIndexClause; }
27929 @Override
27930 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
27931 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateIndexClause(this);
27932 else return visitor.visitChildren(this);
27933 }
27934 }
27935
27936 public final CreateIndexClauseContext createIndexClause() throws RecognitionException {
27937 CreateIndexClauseContext _localctx = new CreateIndexClauseContext(_ctx, getState());
27938 enterRule(_localctx, 572, RULE_createIndexClause);
27939 int _la;
27940 try {
27941 enterOuterAlt(_localctx, 1);
27942 {
27943 setState(3957);
27944 _errHandler.sync(this);
27945 _la = _input.LA(1);
27946 if (_la==INCLUDE) {
27947 {
27948 setState(3955);
27949 match(INCLUDE);
27950 setState(3956);
27951 columnNamesWithSort();
27952 }
27953 }
27954
27955 setState(3961);
27956 _errHandler.sync(this);
27957 _la = _input.LA(1);
27958 if (_la==WHERE) {
27959 {
27960 setState(3959);
27961 match(WHERE);
27962 setState(3960);
27963 filterPredicate();
27964 }
27965 }
27966
27967 setState(3975);
27968 _errHandler.sync(this);
27969 _la = _input.LA(1);
27970 if (_la==WITH) {
27971 {
27972 setState(3963);
27973 match(WITH);
27974 setState(3964);
27975 match(LP_);
27976 setState(3965);
27977 relationalIndexOption();
27978 setState(3970);
27979 _errHandler.sync(this);
27980 _la = _input.LA(1);
27981 while (_la==COMMA_) {
27982 {
27983 {
27984 setState(3966);
27985 match(COMMA_);
27986 setState(3967);
27987 relationalIndexOption();
27988 }
27989 }
27990 setState(3972);
27991 _errHandler.sync(this);
27992 _la = _input.LA(1);
27993 }
27994 setState(3973);
27995 match(RP_);
27996 }
27997 }
27998
27999 setState(3986);
28000 _errHandler.sync(this);
28001 _la = _input.LA(1);
28002 if (_la==ON) {
28003 {
28004 setState(3977);
28005 match(ON);
28006 setState(3984);
28007 _errHandler.sync(this);
28008 switch ( getInterpreter().adaptivePredict(_input,422,_ctx) ) {
28009 case 1:
28010 {
28011 setState(3978);
28012 schemaName();
28013 setState(3979);
28014 match(LP_);
28015 setState(3980);
28016 columnName();
28017 setState(3981);
28018 match(RP_);
28019 }
28020 break;
28021 case 2:
28022 {
28023 setState(3983);
28024 name();
28025 }
28026 break;
28027 }
28028 }
28029 }
28030
28031 setState(3993);
28032 _errHandler.sync(this);
28033 _la = _input.LA(1);
28034 if (_la==FILESTREAM_ON) {
28035 {
28036 setState(3988);
28037 match(FILESTREAM_ON);
28038 setState(3991);
28039 _errHandler.sync(this);
28040 switch (_input.LA(1)) {
28041 case TRUNCATE:
28042 case SCHEMA:
28043 case FUNCTION:
28044 case TRIGGER:
28045 case CAST:
28046 case GROUP:
28047 case LIMIT:
28048 case OFFSET:
28049 case SAVEPOINT:
28050 case BOOLEAN:
28051 case ARRAY:
28052 case DATE:
28053 case LOCALTIME:
28054 case LOCALTIMESTAMP:
28055 case QUARTER:
28056 case WEEK:
28057 case DAY:
28058 case MICROSECOND:
28059 case MAX:
28060 case MIN:
28061 case SUM:
28062 case COUNT:
28063 case AVG:
28064 case ENABLE:
28065 case DISABLE:
28066 case INSTANCE:
28067 case DO:
28068 case DEFINER:
28069 case SQL:
28070 case CASCADED:
28071 case LOCAL:
28072 case NEXT:
28073 case NAME:
28074 case INTEGER:
28075 case TYPE:
28076 case READ_ONLY:
28077 case DATABASE:
28078 case DATEPART:
28079 case PASSWORD:
28080 case BINARY:
28081 case HIDDEN_:
28082 case MOD:
28083 case PARTITION:
28084 case PARTITIONS:
28085 case TOP:
28086 case ROW:
28087 case ROWS:
28088 case XOR:
28089 case ALWAYS:
28090 case ROLE:
28091 case START:
28092 case ALGORITHM:
28093 case AUTO:
28094 case BLOCKERS:
28095 case CLUSTERED:
28096 case NONCLUSTERED:
28097 case COLUMNSTORE:
28098 case CONTENT:
28099 case YEARS:
28100 case MONTHS:
28101 case WEEKS:
28102 case DAYS:
28103 case MINUTES:
28104 case DENY:
28105 case DETERMINISTIC:
28106 case DISTRIBUTION:
28107 case DOCUMENT:
28108 case DURABILITY:
28109 case ENCRYPTED:
28110 case FILESTREAM:
28111 case FILETABLE:
28112 case FILLFACTOR:
28113 case FOLLOWING:
28114 case HASH:
28115 case HEAP:
28116 case INBOUND:
28117 case OUTBOUND:
28118 case UNBOUNDED:
28119 case INFINITE:
28120 case LOGIN:
28121 case MASKED:
28122 case MAXDOP:
28123 case MOVE:
28124 case NOCHECK:
28125 case OBJECT:
28126 case OFF:
28127 case ONLINE:
28128 case OVER:
28129 case PAGE:
28130 case PAUSED:
28131 case PERIOD:
28132 case PERSISTED:
28133 case PRECEDING:
28134 case RANDOMIZED:
28135 case RANGE:
28136 case REBUILD:
28137 case REPLICATE:
28138 case REPLICATION:
28139 case RESUMABLE:
28140 case ROWGUIDCOL:
28141 case SAVE:
28142 case SELF:
28143 case SPARSE:
28144 case SWITCH:
28145 case TRAN:
28146 case TRANCOUNT:
28147 case CONTROL:
28148 case CONCAT:
28149 case TAKE:
28150 case OWNERSHIP:
28151 case DEFINITION:
28152 case APPLICATION:
28153 case ASSEMBLY:
28154 case SYMMETRIC:
28155 case ASYMMETRIC:
28156 case SERVER:
28157 case RECEIVE:
28158 case CHANGE:
28159 case TRACE:
28160 case TRACKING:
28161 case RESOURCES:
28162 case SETTINGS:
28163 case STATE:
28164 case AVAILABILITY:
28165 case CREDENTIAL:
28166 case ENDPOINT:
28167 case EVENT:
28168 case NOTIFICATION:
28169 case LINKED:
28170 case AUDIT:
28171 case DDL:
28172 case XML:
28173 case IMPERSONATE:
28174 case SECURABLES:
28175 case AUTHENTICATE:
28176 case EXTERNAL:
28177 case ACCESS:
28178 case ADMINISTER:
28179 case BULK:
28180 case OPERATIONS:
28181 case UNSAFE:
28182 case SHUTDOWN:
28183 case SCOPED:
28184 case CONFIGURATION:
28185 case DATASPACE:
28186 case SERVICE:
28187 case CERTIFICATE:
28188 case CONTRACT:
28189 case ENCRYPTION:
28190 case MASTER:
28191 case DATA:
28192 case SOURCE:
28193 case FILE:
28194 case FORMAT:
28195 case LIBRARY:
28196 case FULLTEXT:
28197 case MASK:
28198 case UNMASK:
28199 case MESSAGE:
28200 case REMOTE:
28201 case BINDING:
28202 case ROUTE:
28203 case SECURITY:
28204 case POLICY:
28205 case AGGREGATE:
28206 case QUEUE:
28207 case RULE:
28208 case SYNONYM:
28209 case COLLECTION:
28210 case SCRIPT:
28211 case KILL:
28212 case BACKUP:
28213 case LOG:
28214 case SHOWPLAN:
28215 case SUBSCRIBE:
28216 case QUERY:
28217 case NOTIFICATIONS:
28218 case CHECKPOINT:
28219 case SEQUENCE:
28220 case ABORT_AFTER_WAIT:
28221 case ALLOW_PAGE_LOCKS:
28222 case ALLOW_ROW_LOCKS:
28223 case ALL_SPARSE_COLUMNS:
28224 case BUCKET_COUNT:
28225 case COLUMNSTORE_ARCHIVE:
28226 case COLUMN_ENCRYPTION_KEY:
28227 case COLUMN_SET:
28228 case COMPRESSION_DELAY:
28229 case DATABASE_DEAULT:
28230 case DATA_COMPRESSION:
28231 case DATA_CONSISTENCY_CHECK:
28232 case ENCRYPTION_TYPE:
28233 case SYSTEM_TIME:
28234 case SYSTEM_VERSIONING:
28235 case TEXTIMAGE_ON:
28236 case WAIT_AT_LOW_PRIORITY:
28237 case STATISTICS_INCREMENTAL:
28238 case STATISTICS_NORECOMPUTE:
28239 case ROUND_ROBIN:
28240 case SCHEMA_AND_DATA:
28241 case SCHEMA_ONLY:
28242 case SORT_IN_TEMPDB:
28243 case IGNORE_DUP_KEY:
28244 case IMPLICIT_TRANSACTIONS:
28245 case MAX_DURATION:
28246 case MEMORY_OPTIMIZED:
28247 case MIGRATION_STATE:
28248 case PAD_INDEX:
28249 case REMOTE_DATA_ARCHIVE:
28250 case FILESTREAM_ON:
28251 case FILETABLE_COLLATE_FILENAME:
28252 case FILETABLE_DIRECTORY:
28253 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
28254 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
28255 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
28256 case FILTER_PREDICATE:
28257 case HISTORY_RETENTION_PERIOD:
28258 case HISTORY_TABLE:
28259 case LOCK_ESCALATION:
28260 case DROP_EXISTING:
28261 case ROW_NUMBER:
28262 case FIRST:
28263 case DATETIME2:
28264 case OUTPUT:
28265 case INSERTED:
28266 case DELETED:
28267 case FILENAME:
28268 case MAXSIZE:
28269 case FILEGROWTH:
28270 case UNLIMITED:
28271 case KB:
28272 case MB:
28273 case GB:
28274 case TB:
28275 case MEMORY_OPTIMIZED_DATA:
28276 case FILEGROUP:
28277 case NON_TRANSACTED_ACCESS:
28278 case DB_CHAINING:
28279 case TRUSTWORTHY:
28280 case FORWARD_ONLY:
28281 case KEYSET:
28282 case FAST_FORWARD:
28283 case SCROLL_LOCKS:
28284 case OPTIMISTIC:
28285 case TYPE_WARNING:
28286 case SCHEMABINDING:
28287 case CALLER:
28288 case OWNER:
28289 case SNAPSHOT:
28290 case REPEATABLE:
28291 case SERIALIZABLE:
28292 case NATIVE_COMPILATION:
28293 case VIEW_METADATA:
28294 case INSTEAD:
28295 case APPEND:
28296 case INCREMENT:
28297 case CACHE:
28298 case MINVALUE:
28299 case MAXVALUE:
28300 case RESTART:
28301 case LOB_COMPACTION:
28302 case COMPRESS_ALL_ROW_GROUPS:
28303 case REORGANIZE:
28304 case RESUME:
28305 case PAUSE:
28306 case ABORT:
28307 case ACCELERATED_DATABASE_RECOVERY:
28308 case PERSISTENT_VERSION_STORE_FILEGROUP:
28309 case IMMEDIATE:
28310 case NO_WAIT:
28311 case TARGET_RECOVERY_TIME:
28312 case SECONDS:
28313 case HONOR_BROKER_PRIORITY:
28314 case ERROR_BROKER_CONVERSATIONS:
28315 case NEW_BROKER:
28316 case DISABLE_BROKER:
28317 case ENABLE_BROKER:
28318 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
28319 case READ_COMMITTED_SNAPSHOT:
28320 case ALLOW_SNAPSHOT_ISOLATION:
28321 case RECURSIVE_TRIGGERS:
28322 case QUOTED_IDENTIFIER:
28323 case NUMERIC_ROUNDABORT:
28324 case CONCAT_NULL_YIELDS_NULL:
28325 case COMPATIBILITY_LEVEL:
28326 case ARITHABORT:
28327 case ANSI_WARNINGS:
28328 case ANSI_PADDING:
28329 case ANSI_NULLS:
28330 case ANSI_NULL_DEFAULT:
28331 case PAGE_VERIFY:
28332 case CHECKSUM:
28333 case TORN_PAGE_DETECTION:
28334 case BULK_LOGGED:
28335 case RECOVERY:
28336 case TOTAL_EXECUTION_CPU_TIME_MS:
28337 case TOTAL_COMPILE_CPU_TIME_MS:
28338 case STALE_CAPTURE_POLICY_THRESHOLD:
28339 case EXECUTION_COUNT:
28340 case QUERY_CAPTURE_POLICY:
28341 case WAIT_STATS_CAPTURE_MODE:
28342 case MAX_PLANS_PER_QUERY:
28343 case QUERY_CAPTURE_MODE:
28344 case SIZE_BASED_CLEANUP_MODE:
28345 case INTERVAL_LENGTH_MINUTES:
28346 case MAX_STORAGE_SIZE_MB:
28347 case DATA_FLUSH_INTERVAL_SECONDS:
28348 case CLEANUP_POLICY:
28349 case CUSTOM:
28350 case STALE_QUERY_THRESHOLD_DAYS:
28351 case OPERATION_MODE:
28352 case QUERY_STORE:
28353 case CURSOR_DEFAULT:
28354 case GLOBAL:
28355 case CURSOR_CLOSE_ON_COMMIT:
28356 case HOURS:
28357 case CHANGE_RETENTION:
28358 case AUTO_CLEANUP:
28359 case CHANGE_TRACKING:
28360 case AUTOMATIC_TUNING:
28361 case FORCE_LAST_GOOD_PLAN:
28362 case AUTO_UPDATE_STATISTICS_ASYNC:
28363 case AUTO_UPDATE_STATISTICS:
28364 case AUTO_SHRINK:
28365 case AUTO_CREATE_STATISTICS:
28366 case INCREMENTAL:
28367 case AUTO_CLOSE:
28368 case DATA_RETENTION:
28369 case TEMPORAL_HISTORY_RETENTION:
28370 case EDITION:
28371 case MIXED_PAGE_ALLOCATION:
28372 case DISABLED:
28373 case ALLOWED:
28374 case HADR:
28375 case MULTI_USER:
28376 case RESTRICTED_USER:
28377 case SINGLE_USER:
28378 case OFFLINE:
28379 case EMERGENCY:
28380 case SUSPEND:
28381 case DATE_CORRELATION_OPTIMIZATION:
28382 case ELASTIC_POOL:
28383 case SERVICE_OBJECTIVE:
28384 case DATABASE_NAME:
28385 case ALLOW_CONNECTIONS:
28386 case GEO:
28387 case NAMED:
28388 case DATEFIRST:
28389 case BACKUP_STORAGE_REDUNDANCY:
28390 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
28391 case SECONDARY:
28392 case FAILOVER:
28393 case DEFAULT_FULLTEXT_LANGUAGE:
28394 case DEFAULT_LANGUAGE:
28395 case INLINE:
28396 case NESTED_TRIGGERS:
28397 case TRANSFORM_NOISE_WORDS:
28398 case TWO_DIGIT_YEAR_CUTOFF:
28399 case PERSISTENT_LOG_BUFFER:
28400 case DIRECTORY_NAME:
28401 case DATEFORMAT:
28402 case DELAYED_DURABILITY:
28403 case AUTHORIZATION:
28404 case TRANSFER:
28405 case SEARCH:
28406 case MEMBER:
28407 case IDENTIFIER_:
28408 case DELIMITED_IDENTIFIER_:
28409 {
28410 setState(3989);
28411 name();
28412 }
28413 break;
28414 case STRING_:
28415 case NCHAR_TEXT:
28416 {
28417 setState(3990);
28418 stringLiterals();
28419 }
28420 break;
28421 default:
28422 throw new NoViableAltException(this);
28423 }
28424 }
28425 }
28426
28427 }
28428 }
28429 catch (RecognitionException re) {
28430 _localctx.exception = re;
28431 _errHandler.reportError(this, re);
28432 _errHandler.recover(this, re);
28433 }
28434 finally {
28435 exitRule();
28436 }
28437 return _localctx;
28438 }
28439
28440 public static class FilterPredicateContext extends ParserRuleContext {
28441 public List<ConjunctContext> conjunct() {
28442 return getRuleContexts(ConjunctContext.class);
28443 }
28444 public ConjunctContext conjunct(int i) {
28445 return getRuleContext(ConjunctContext.class,i);
28446 }
28447 public List<TerminalNode> AND() { return getTokens(SQLServerStatementParser.AND); }
28448 public TerminalNode AND(int i) {
28449 return getToken(SQLServerStatementParser.AND, i);
28450 }
28451 public FilterPredicateContext(ParserRuleContext parent, int invokingState) {
28452 super(parent, invokingState);
28453 }
28454 @Override public int getRuleIndex() { return RULE_filterPredicate; }
28455 @Override
28456 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28457 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFilterPredicate(this);
28458 else return visitor.visitChildren(this);
28459 }
28460 }
28461
28462 public final FilterPredicateContext filterPredicate() throws RecognitionException {
28463 FilterPredicateContext _localctx = new FilterPredicateContext(_ctx, getState());
28464 enterRule(_localctx, 574, RULE_filterPredicate);
28465 int _la;
28466 try {
28467 enterOuterAlt(_localctx, 1);
28468 {
28469 setState(3995);
28470 conjunct();
28471 setState(4000);
28472 _errHandler.sync(this);
28473 _la = _input.LA(1);
28474 while (_la==AND) {
28475 {
28476 {
28477 setState(3996);
28478 match(AND);
28479 setState(3997);
28480 conjunct();
28481 }
28482 }
28483 setState(4002);
28484 _errHandler.sync(this);
28485 _la = _input.LA(1);
28486 }
28487 }
28488 }
28489 catch (RecognitionException re) {
28490 _localctx.exception = re;
28491 _errHandler.reportError(this, re);
28492 _errHandler.recover(this, re);
28493 }
28494 finally {
28495 exitRule();
28496 }
28497 return _localctx;
28498 }
28499
28500 public static class ConjunctContext extends ParserRuleContext {
28501 public ColumnNameContext columnName() {
28502 return getRuleContext(ColumnNameContext.class,0);
28503 }
28504 public TerminalNode IN() { return getToken(SQLServerStatementParser.IN, 0); }
28505 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
28506 public List<ExprContext> expr() {
28507 return getRuleContexts(ExprContext.class);
28508 }
28509 public ExprContext expr(int i) {
28510 return getRuleContext(ExprContext.class,i);
28511 }
28512 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
28513 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28514 public TerminalNode COMMA_(int i) {
28515 return getToken(SQLServerStatementParser.COMMA_, i);
28516 }
28517 public ComparisonOperatorContext comparisonOperator() {
28518 return getRuleContext(ComparisonOperatorContext.class,0);
28519 }
28520 public ConjunctContext(ParserRuleContext parent, int invokingState) {
28521 super(parent, invokingState);
28522 }
28523 @Override public int getRuleIndex() { return RULE_conjunct; }
28524 @Override
28525 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28526 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitConjunct(this);
28527 else return visitor.visitChildren(this);
28528 }
28529 }
28530
28531 public final ConjunctContext conjunct() throws RecognitionException {
28532 ConjunctContext _localctx = new ConjunctContext(_ctx, getState());
28533 enterRule(_localctx, 576, RULE_conjunct);
28534 int _la;
28535 try {
28536 setState(4020);
28537 _errHandler.sync(this);
28538 switch ( getInterpreter().adaptivePredict(_input,428,_ctx) ) {
28539 case 1:
28540 enterOuterAlt(_localctx, 1);
28541 {
28542 setState(4003);
28543 columnName();
28544 setState(4004);
28545 match(IN);
28546 setState(4005);
28547 match(LP_);
28548 setState(4006);
28549 expr(0);
28550 setState(4011);
28551 _errHandler.sync(this);
28552 _la = _input.LA(1);
28553 while (_la==COMMA_) {
28554 {
28555 {
28556 setState(4007);
28557 match(COMMA_);
28558 setState(4008);
28559 expr(0);
28560 }
28561 }
28562 setState(4013);
28563 _errHandler.sync(this);
28564 _la = _input.LA(1);
28565 }
28566 setState(4014);
28567 match(RP_);
28568 }
28569 break;
28570 case 2:
28571 enterOuterAlt(_localctx, 2);
28572 {
28573 setState(4016);
28574 columnName();
28575 setState(4017);
28576 comparisonOperator();
28577 setState(4018);
28578 expr(0);
28579 }
28580 break;
28581 }
28582 }
28583 catch (RecognitionException re) {
28584 _localctx.exception = re;
28585 _errHandler.reportError(this, re);
28586 _errHandler.recover(this, re);
28587 }
28588 finally {
28589 exitRule();
28590 }
28591 return _localctx;
28592 }
28593
28594 public static class AlterIndexClauseContext extends ParserRuleContext {
28595 public TerminalNode REBUILD() { return getToken(SQLServerStatementParser.REBUILD, 0); }
28596 public TerminalNode PARTITION() { return getToken(SQLServerStatementParser.PARTITION, 0); }
28597 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
28598 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
28599 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
28600 public List<RelationalIndexOptionContext> relationalIndexOption() {
28601 return getRuleContexts(RelationalIndexOptionContext.class);
28602 }
28603 public RelationalIndexOptionContext relationalIndexOption(int i) {
28604 return getRuleContext(RelationalIndexOptionContext.class,i);
28605 }
28606 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
28607 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
28608 public ExprContext expr() {
28609 return getRuleContext(ExprContext.class,0);
28610 }
28611 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
28612 public TerminalNode COMMA_(int i) {
28613 return getToken(SQLServerStatementParser.COMMA_, i);
28614 }
28615 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
28616 public TerminalNode REORGANIZE() { return getToken(SQLServerStatementParser.REORGANIZE, 0); }
28617 public ReorganizeOptionContext reorganizeOption() {
28618 return getRuleContext(ReorganizeOptionContext.class,0);
28619 }
28620 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
28621 public List<SetIndexOptionContext> setIndexOption() {
28622 return getRuleContexts(SetIndexOptionContext.class);
28623 }
28624 public SetIndexOptionContext setIndexOption(int i) {
28625 return getRuleContext(SetIndexOptionContext.class,i);
28626 }
28627 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
28628 public List<ResumableIndexOptionsContext> resumableIndexOptions() {
28629 return getRuleContexts(ResumableIndexOptionsContext.class);
28630 }
28631 public ResumableIndexOptionsContext resumableIndexOptions(int i) {
28632 return getRuleContext(ResumableIndexOptionsContext.class,i);
28633 }
28634 public TerminalNode PAUSE() { return getToken(SQLServerStatementParser.PAUSE, 0); }
28635 public TerminalNode ABORT() { return getToken(SQLServerStatementParser.ABORT, 0); }
28636 public AlterIndexClauseContext(ParserRuleContext parent, int invokingState) {
28637 super(parent, invokingState);
28638 }
28639 @Override public int getRuleIndex() { return RULE_alterIndexClause; }
28640 @Override
28641 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
28642 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterIndexClause(this);
28643 else return visitor.visitChildren(this);
28644 }
28645 }
28646
28647 public final AlterIndexClauseContext alterIndexClause() throws RecognitionException {
28648 AlterIndexClauseContext _localctx = new AlterIndexClauseContext(_ctx, getState());
28649 enterRule(_localctx, 578, RULE_alterIndexClause);
28650 int _la;
28651 try {
28652 setState(4084);
28653 _errHandler.sync(this);
28654 switch (_input.LA(1)) {
28655 case REBUILD:
28656 enterOuterAlt(_localctx, 1);
28657 {
28658 setState(4022);
28659 match(REBUILD);
28660 setState(4029);
28661 _errHandler.sync(this);
28662 _la = _input.LA(1);
28663 if (_la==PARTITION) {
28664 {
28665 setState(4023);
28666 match(PARTITION);
28667 setState(4024);
28668 match(EQ_);
28669 setState(4027);
28670 _errHandler.sync(this);
28671 switch (_input.LA(1)) {
28672 case ALL:
28673 {
28674 setState(4025);
28675 match(ALL);
28676 }
28677 break;
28678 case NOT_:
28679 case TILDE_:
28680 case PLUS_:
28681 case MINUS_:
28682 case LP_:
28683 case LBE_:
28684 case QUESTION_:
28685 case DOLLAR_:
28686 case TRUNCATE:
28687 case SCHEMA:
28688 case FUNCTION:
28689 case TRIGGER:
28690 case CASE:
28691 case CAST:
28692 case IF:
28693 case NOT:
28694 case NULL:
28695 case TRUE:
28696 case FALSE:
28697 case EXISTS:
28698 case GROUP:
28699 case LIMIT:
28700 case OFFSET:
28701 case SAVEPOINT:
28702 case BOOLEAN:
28703 case CHAR:
28704 case ARRAY:
28705 case INTERVAL:
28706 case DATE:
28707 case TIME:
28708 case TIMESTAMP:
28709 case LOCALTIME:
28710 case LOCALTIMESTAMP:
28711 case QUARTER:
28712 case WEEK:
28713 case DAY:
28714 case MICROSECOND:
28715 case MAX:
28716 case MIN:
28717 case SUM:
28718 case COUNT:
28719 case AVG:
28720 case ENABLE:
28721 case DISABLE:
28722 case INSTANCE:
28723 case DO:
28724 case DEFINER:
28725 case SQL:
28726 case CASCADED:
28727 case LOCAL:
28728 case NEXT:
28729 case NAME:
28730 case INTEGER:
28731 case TYPE:
28732 case READ_ONLY:
28733 case DATABASE:
28734 case DATEPART:
28735 case PASSWORD:
28736 case BINARY:
28737 case HIDDEN_:
28738 case MOD:
28739 case PARTITION:
28740 case PARTITIONS:
28741 case TOP:
28742 case ROW:
28743 case ROWS:
28744 case XOR:
28745 case ALWAYS:
28746 case ROLE:
28747 case START:
28748 case ALGORITHM:
28749 case AUTO:
28750 case BLOCKERS:
28751 case CLUSTERED:
28752 case NONCLUSTERED:
28753 case COLUMNSTORE:
28754 case CONTENT:
28755 case CONVERT:
28756 case YEARS:
28757 case MONTHS:
28758 case WEEKS:
28759 case DAYS:
28760 case MINUTES:
28761 case DENY:
28762 case DETERMINISTIC:
28763 case DISTRIBUTION:
28764 case DOCUMENT:
28765 case DURABILITY:
28766 case ENCRYPTED:
28767 case FILESTREAM:
28768 case FILETABLE:
28769 case FILLFACTOR:
28770 case FOLLOWING:
28771 case HASH:
28772 case HEAP:
28773 case INBOUND:
28774 case OUTBOUND:
28775 case UNBOUNDED:
28776 case INFINITE:
28777 case LOGIN:
28778 case MASKED:
28779 case MAXDOP:
28780 case MOVE:
28781 case NOCHECK:
28782 case OBJECT:
28783 case OFF:
28784 case ONLINE:
28785 case OVER:
28786 case PAGE:
28787 case PAUSED:
28788 case PERIOD:
28789 case PERSISTED:
28790 case PRECEDING:
28791 case RANDOMIZED:
28792 case RANGE:
28793 case REBUILD:
28794 case REPLICATE:
28795 case REPLICATION:
28796 case RESUMABLE:
28797 case ROWGUIDCOL:
28798 case SAVE:
28799 case SELF:
28800 case SPARSE:
28801 case SWITCH:
28802 case TRAN:
28803 case TRANCOUNT:
28804 case CONTROL:
28805 case CONCAT:
28806 case TAKE:
28807 case OWNERSHIP:
28808 case DEFINITION:
28809 case APPLICATION:
28810 case ASSEMBLY:
28811 case SYMMETRIC:
28812 case ASYMMETRIC:
28813 case SERVER:
28814 case RECEIVE:
28815 case CHANGE:
28816 case TRACE:
28817 case TRACKING:
28818 case RESOURCES:
28819 case SETTINGS:
28820 case STATE:
28821 case AVAILABILITY:
28822 case CREDENTIAL:
28823 case ENDPOINT:
28824 case EVENT:
28825 case NOTIFICATION:
28826 case LINKED:
28827 case AUDIT:
28828 case DDL:
28829 case XML:
28830 case IMPERSONATE:
28831 case SECURABLES:
28832 case AUTHENTICATE:
28833 case EXTERNAL:
28834 case ACCESS:
28835 case ADMINISTER:
28836 case BULK:
28837 case OPERATIONS:
28838 case UNSAFE:
28839 case SHUTDOWN:
28840 case SCOPED:
28841 case CONFIGURATION:
28842 case DATASPACE:
28843 case SERVICE:
28844 case CERTIFICATE:
28845 case CONTRACT:
28846 case ENCRYPTION:
28847 case MASTER:
28848 case DATA:
28849 case SOURCE:
28850 case FILE:
28851 case FORMAT:
28852 case LIBRARY:
28853 case FULLTEXT:
28854 case MASK:
28855 case UNMASK:
28856 case MESSAGE:
28857 case REMOTE:
28858 case BINDING:
28859 case ROUTE:
28860 case SECURITY:
28861 case POLICY:
28862 case AGGREGATE:
28863 case QUEUE:
28864 case RULE:
28865 case SYNONYM:
28866 case COLLECTION:
28867 case SCRIPT:
28868 case KILL:
28869 case BACKUP:
28870 case LOG:
28871 case SHOWPLAN:
28872 case SUBSCRIBE:
28873 case QUERY:
28874 case NOTIFICATIONS:
28875 case CHECKPOINT:
28876 case SEQUENCE:
28877 case ABORT_AFTER_WAIT:
28878 case ALLOW_PAGE_LOCKS:
28879 case ALLOW_ROW_LOCKS:
28880 case ALL_SPARSE_COLUMNS:
28881 case BUCKET_COUNT:
28882 case COLUMNSTORE_ARCHIVE:
28883 case COLUMN_ENCRYPTION_KEY:
28884 case COLUMN_SET:
28885 case COMPRESSION_DELAY:
28886 case DATABASE_DEAULT:
28887 case DATA_COMPRESSION:
28888 case DATA_CONSISTENCY_CHECK:
28889 case ENCRYPTION_TYPE:
28890 case SYSTEM_TIME:
28891 case SYSTEM_VERSIONING:
28892 case TEXTIMAGE_ON:
28893 case WAIT_AT_LOW_PRIORITY:
28894 case STATISTICS_INCREMENTAL:
28895 case STATISTICS_NORECOMPUTE:
28896 case ROUND_ROBIN:
28897 case SCHEMA_AND_DATA:
28898 case SCHEMA_ONLY:
28899 case SORT_IN_TEMPDB:
28900 case IGNORE_DUP_KEY:
28901 case IMPLICIT_TRANSACTIONS:
28902 case MAX_DURATION:
28903 case MEMORY_OPTIMIZED:
28904 case MIGRATION_STATE:
28905 case PAD_INDEX:
28906 case REMOTE_DATA_ARCHIVE:
28907 case FILESTREAM_ON:
28908 case FILETABLE_COLLATE_FILENAME:
28909 case FILETABLE_DIRECTORY:
28910 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
28911 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
28912 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
28913 case FILTER_PREDICATE:
28914 case HISTORY_RETENTION_PERIOD:
28915 case HISTORY_TABLE:
28916 case LOCK_ESCALATION:
28917 case DROP_EXISTING:
28918 case ROW_NUMBER:
28919 case FIRST:
28920 case DATETIME2:
28921 case OUTPUT:
28922 case INSERTED:
28923 case DELETED:
28924 case FILENAME:
28925 case MAXSIZE:
28926 case FILEGROWTH:
28927 case UNLIMITED:
28928 case KB:
28929 case MB:
28930 case GB:
28931 case TB:
28932 case MEMORY_OPTIMIZED_DATA:
28933 case FILEGROUP:
28934 case NON_TRANSACTED_ACCESS:
28935 case DB_CHAINING:
28936 case TRUSTWORTHY:
28937 case FORWARD_ONLY:
28938 case KEYSET:
28939 case FAST_FORWARD:
28940 case SCROLL_LOCKS:
28941 case OPTIMISTIC:
28942 case TYPE_WARNING:
28943 case SCHEMABINDING:
28944 case CALLER:
28945 case OWNER:
28946 case SNAPSHOT:
28947 case REPEATABLE:
28948 case SERIALIZABLE:
28949 case NATIVE_COMPILATION:
28950 case VIEW_METADATA:
28951 case INSTEAD:
28952 case APPEND:
28953 case INCREMENT:
28954 case CACHE:
28955 case MINVALUE:
28956 case MAXVALUE:
28957 case RESTART:
28958 case LOB_COMPACTION:
28959 case COMPRESS_ALL_ROW_GROUPS:
28960 case REORGANIZE:
28961 case RESUME:
28962 case PAUSE:
28963 case ABORT:
28964 case ACCELERATED_DATABASE_RECOVERY:
28965 case PERSISTENT_VERSION_STORE_FILEGROUP:
28966 case IMMEDIATE:
28967 case NO_WAIT:
28968 case TARGET_RECOVERY_TIME:
28969 case SECONDS:
28970 case HONOR_BROKER_PRIORITY:
28971 case ERROR_BROKER_CONVERSATIONS:
28972 case NEW_BROKER:
28973 case DISABLE_BROKER:
28974 case ENABLE_BROKER:
28975 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
28976 case READ_COMMITTED_SNAPSHOT:
28977 case ALLOW_SNAPSHOT_ISOLATION:
28978 case RECURSIVE_TRIGGERS:
28979 case QUOTED_IDENTIFIER:
28980 case NUMERIC_ROUNDABORT:
28981 case CONCAT_NULL_YIELDS_NULL:
28982 case COMPATIBILITY_LEVEL:
28983 case ARITHABORT:
28984 case ANSI_WARNINGS:
28985 case ANSI_PADDING:
28986 case ANSI_NULLS:
28987 case ANSI_NULL_DEFAULT:
28988 case PAGE_VERIFY:
28989 case CHECKSUM:
28990 case TORN_PAGE_DETECTION:
28991 case BULK_LOGGED:
28992 case RECOVERY:
28993 case TOTAL_EXECUTION_CPU_TIME_MS:
28994 case TOTAL_COMPILE_CPU_TIME_MS:
28995 case STALE_CAPTURE_POLICY_THRESHOLD:
28996 case EXECUTION_COUNT:
28997 case QUERY_CAPTURE_POLICY:
28998 case WAIT_STATS_CAPTURE_MODE:
28999 case MAX_PLANS_PER_QUERY:
29000 case QUERY_CAPTURE_MODE:
29001 case SIZE_BASED_CLEANUP_MODE:
29002 case INTERVAL_LENGTH_MINUTES:
29003 case MAX_STORAGE_SIZE_MB:
29004 case DATA_FLUSH_INTERVAL_SECONDS:
29005 case CLEANUP_POLICY:
29006 case CUSTOM:
29007 case STALE_QUERY_THRESHOLD_DAYS:
29008 case OPERATION_MODE:
29009 case QUERY_STORE:
29010 case CURSOR_DEFAULT:
29011 case GLOBAL:
29012 case CURSOR_CLOSE_ON_COMMIT:
29013 case HOURS:
29014 case CHANGE_RETENTION:
29015 case AUTO_CLEANUP:
29016 case CHANGE_TRACKING:
29017 case AUTOMATIC_TUNING:
29018 case FORCE_LAST_GOOD_PLAN:
29019 case AUTO_UPDATE_STATISTICS_ASYNC:
29020 case AUTO_UPDATE_STATISTICS:
29021 case AUTO_SHRINK:
29022 case AUTO_CREATE_STATISTICS:
29023 case INCREMENTAL:
29024 case AUTO_CLOSE:
29025 case DATA_RETENTION:
29026 case TEMPORAL_HISTORY_RETENTION:
29027 case EDITION:
29028 case MIXED_PAGE_ALLOCATION:
29029 case DISABLED:
29030 case ALLOWED:
29031 case HADR:
29032 case MULTI_USER:
29033 case RESTRICTED_USER:
29034 case SINGLE_USER:
29035 case OFFLINE:
29036 case EMERGENCY:
29037 case SUSPEND:
29038 case DATE_CORRELATION_OPTIMIZATION:
29039 case ELASTIC_POOL:
29040 case SERVICE_OBJECTIVE:
29041 case DATABASE_NAME:
29042 case ALLOW_CONNECTIONS:
29043 case GEO:
29044 case NAMED:
29045 case DATEFIRST:
29046 case BACKUP_STORAGE_REDUNDANCY:
29047 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
29048 case SECONDARY:
29049 case FAILOVER:
29050 case DEFAULT_FULLTEXT_LANGUAGE:
29051 case DEFAULT_LANGUAGE:
29052 case INLINE:
29053 case NESTED_TRIGGERS:
29054 case TRANSFORM_NOISE_WORDS:
29055 case TWO_DIGIT_YEAR_CUTOFF:
29056 case PERSISTENT_LOG_BUFFER:
29057 case DIRECTORY_NAME:
29058 case DATEFORMAT:
29059 case DELAYED_DURABILITY:
29060 case AUTHORIZATION:
29061 case TRANSFER:
29062 case SEARCH:
29063 case MEMBER:
29064 case IDENTIFIER_:
29065 case DELIMITED_IDENTIFIER_:
29066 case STRING_:
29067 case NUMBER_:
29068 case HEX_DIGIT_:
29069 case BIT_NUM_:
29070 case NCHAR_TEXT:
29071 {
29072 setState(4026);
29073 expr(0);
29074 }
29075 break;
29076 default:
29077 throw new NoViableAltException(this);
29078 }
29079 }
29080 }
29081
29082 setState(4043);
29083 _errHandler.sync(this);
29084 _la = _input.LA(1);
29085 if (_la==WITH) {
29086 {
29087 setState(4031);
29088 match(WITH);
29089 setState(4032);
29090 match(LP_);
29091 setState(4033);
29092 relationalIndexOption();
29093 setState(4038);
29094 _errHandler.sync(this);
29095 _la = _input.LA(1);
29096 while (_la==COMMA_) {
29097 {
29098 {
29099 setState(4034);
29100 match(COMMA_);
29101 setState(4035);
29102 relationalIndexOption();
29103 }
29104 }
29105 setState(4040);
29106 _errHandler.sync(this);
29107 _la = _input.LA(1);
29108 }
29109 setState(4041);
29110 match(RP_);
29111 }
29112 }
29113
29114 }
29115 break;
29116 case DISABLE:
29117 enterOuterAlt(_localctx, 2);
29118 {
29119 setState(4045);
29120 match(DISABLE);
29121 }
29122 break;
29123 case REORGANIZE:
29124 enterOuterAlt(_localctx, 3);
29125 {
29126 setState(4046);
29127 match(REORGANIZE);
29128 setState(4050);
29129 _errHandler.sync(this);
29130 _la = _input.LA(1);
29131 if (_la==PARTITION) {
29132 {
29133 setState(4047);
29134 match(PARTITION);
29135 setState(4048);
29136 match(EQ_);
29137 setState(4049);
29138 expr(0);
29139 }
29140 }
29141
29142 setState(4057);
29143 _errHandler.sync(this);
29144 _la = _input.LA(1);
29145 if (_la==WITH) {
29146 {
29147 setState(4052);
29148 match(WITH);
29149 setState(4053);
29150 match(LP_);
29151 setState(4054);
29152 reorganizeOption();
29153 setState(4055);
29154 match(RP_);
29155 }
29156 }
29157
29158 }
29159 break;
29160 case SET:
29161 enterOuterAlt(_localctx, 4);
29162 {
29163 setState(4059);
29164 match(SET);
29165 setState(4060);
29166 match(LP_);
29167 setState(4061);
29168 setIndexOption();
29169 {
29170 setState(4062);
29171 match(COMMA_);
29172 setState(4063);
29173 setIndexOption();
29174 }
29175 setState(4065);
29176 match(RP_);
29177 }
29178 break;
29179 case RESUME:
29180 enterOuterAlt(_localctx, 5);
29181 {
29182 setState(4067);
29183 match(RESUME);
29184 setState(4080);
29185 _errHandler.sync(this);
29186 _la = _input.LA(1);
29187 if (_la==WITH) {
29188 {
29189 setState(4068);
29190 match(WITH);
29191 setState(4069);
29192 match(LP_);
29193 setState(4070);
29194 resumableIndexOptions();
29195 setState(4075);
29196 _errHandler.sync(this);
29197 _la = _input.LA(1);
29198 while (_la==COMMA_) {
29199 {
29200 {
29201 setState(4071);
29202 match(COMMA_);
29203 setState(4072);
29204 resumableIndexOptions();
29205 }
29206 }
29207 setState(4077);
29208 _errHandler.sync(this);
29209 _la = _input.LA(1);
29210 }
29211 setState(4078);
29212 match(RP_);
29213 }
29214 }
29215
29216 }
29217 break;
29218 case PAUSE:
29219 enterOuterAlt(_localctx, 6);
29220 {
29221 setState(4082);
29222 match(PAUSE);
29223 }
29224 break;
29225 case ABORT:
29226 enterOuterAlt(_localctx, 7);
29227 {
29228 setState(4083);
29229 match(ABORT);
29230 }
29231 break;
29232 default:
29233 throw new NoViableAltException(this);
29234 }
29235 }
29236 catch (RecognitionException re) {
29237 _localctx.exception = re;
29238 _errHandler.reportError(this, re);
29239 _errHandler.recover(this, re);
29240 }
29241 finally {
29242 exitRule();
29243 }
29244 return _localctx;
29245 }
29246
29247 public static class RelationalIndexOptionContext extends ParserRuleContext {
29248 public TerminalNode PAD_INDEX() { return getToken(SQLServerStatementParser.PAD_INDEX, 0); }
29249 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
29250 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
29251 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
29252 public TerminalNode FILLFACTOR() { return getToken(SQLServerStatementParser.FILLFACTOR, 0); }
29253 public ExprContext expr() {
29254 return getRuleContext(ExprContext.class,0);
29255 }
29256 public TerminalNode SORT_IN_TEMPDB() { return getToken(SQLServerStatementParser.SORT_IN_TEMPDB, 0); }
29257 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
29258 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
29259 public TerminalNode STATISTICS_INCREMENTAL() { return getToken(SQLServerStatementParser.STATISTICS_INCREMENTAL, 0); }
29260 public TerminalNode DROP_EXISTING() { return getToken(SQLServerStatementParser.DROP_EXISTING, 0); }
29261 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
29262 public LowPriorityLockWaitContext lowPriorityLockWait() {
29263 return getRuleContext(LowPriorityLockWaitContext.class,0);
29264 }
29265 public TerminalNode RESUMABLE() { return getToken(SQLServerStatementParser.RESUMABLE, 0); }
29266 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
29267 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
29268 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
29269 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
29270 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
29271 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
29272 public TerminalNode DATA_COMPRESSION() { return getToken(SQLServerStatementParser.DATA_COMPRESSION, 0); }
29273 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
29274 public TerminalNode ROW() { return getToken(SQLServerStatementParser.ROW, 0); }
29275 public TerminalNode PAGE() { return getToken(SQLServerStatementParser.PAGE, 0); }
29276 public TerminalNode COLUMNSTORE() { return getToken(SQLServerStatementParser.COLUMNSTORE, 0); }
29277 public TerminalNode COLUMNSTORE_ARCHIVE() { return getToken(SQLServerStatementParser.COLUMNSTORE_ARCHIVE, 0); }
29278 public TerminalNode PARTITIONS() { return getToken(SQLServerStatementParser.PARTITIONS, 0); }
29279 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
29280 public List<PartitionNumberRangeContext> partitionNumberRange() {
29281 return getRuleContexts(PartitionNumberRangeContext.class);
29282 }
29283 public PartitionNumberRangeContext partitionNumberRange(int i) {
29284 return getRuleContext(PartitionNumberRangeContext.class,i);
29285 }
29286 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
29287 public TerminalNode COMMA_(int i) {
29288 return getToken(SQLServerStatementParser.COMMA_, i);
29289 }
29290 public RelationalIndexOptionContext(ParserRuleContext parent, int invokingState) {
29291 super(parent, invokingState);
29292 }
29293 @Override public int getRuleIndex() { return RULE_relationalIndexOption; }
29294 @Override
29295 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29296 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRelationalIndexOption(this);
29297 else return visitor.visitChildren(this);
29298 }
29299 }
29300
29301 public final RelationalIndexOptionContext relationalIndexOption() throws RecognitionException {
29302 RelationalIndexOptionContext _localctx = new RelationalIndexOptionContext(_ctx, getState());
29303 enterRule(_localctx, 580, RULE_relationalIndexOption);
29304 int _la;
29305 try {
29306 int _alt;
29307 setState(4153);
29308 _errHandler.sync(this);
29309 switch (_input.LA(1)) {
29310 case PAD_INDEX:
29311 enterOuterAlt(_localctx, 1);
29312 {
29313 setState(4086);
29314 match(PAD_INDEX);
29315 setState(4087);
29316 match(EQ_);
29317 setState(4088);
29318 _la = _input.LA(1);
29319 if ( !(_la==ON || _la==OFF) ) {
29320 _errHandler.recoverInline(this);
29321 }
29322 else {
29323 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29324 _errHandler.reportMatch(this);
29325 consume();
29326 }
29327 }
29328 break;
29329 case FILLFACTOR:
29330 enterOuterAlt(_localctx, 2);
29331 {
29332 setState(4089);
29333 match(FILLFACTOR);
29334 setState(4090);
29335 match(EQ_);
29336 setState(4091);
29337 expr(0);
29338 }
29339 break;
29340 case SORT_IN_TEMPDB:
29341 enterOuterAlt(_localctx, 3);
29342 {
29343 setState(4092);
29344 match(SORT_IN_TEMPDB);
29345 setState(4093);
29346 match(EQ_);
29347 setState(4094);
29348 _la = _input.LA(1);
29349 if ( !(_la==ON || _la==OFF) ) {
29350 _errHandler.recoverInline(this);
29351 }
29352 else {
29353 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29354 _errHandler.reportMatch(this);
29355 consume();
29356 }
29357 }
29358 break;
29359 case IGNORE_DUP_KEY:
29360 enterOuterAlt(_localctx, 4);
29361 {
29362 setState(4095);
29363 match(IGNORE_DUP_KEY);
29364 setState(4096);
29365 match(EQ_);
29366 setState(4097);
29367 _la = _input.LA(1);
29368 if ( !(_la==ON || _la==OFF) ) {
29369 _errHandler.recoverInline(this);
29370 }
29371 else {
29372 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29373 _errHandler.reportMatch(this);
29374 consume();
29375 }
29376 }
29377 break;
29378 case STATISTICS_NORECOMPUTE:
29379 enterOuterAlt(_localctx, 5);
29380 {
29381 setState(4098);
29382 match(STATISTICS_NORECOMPUTE);
29383 setState(4099);
29384 match(EQ_);
29385 setState(4100);
29386 _la = _input.LA(1);
29387 if ( !(_la==ON || _la==OFF) ) {
29388 _errHandler.recoverInline(this);
29389 }
29390 else {
29391 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29392 _errHandler.reportMatch(this);
29393 consume();
29394 }
29395 }
29396 break;
29397 case STATISTICS_INCREMENTAL:
29398 enterOuterAlt(_localctx, 6);
29399 {
29400 setState(4101);
29401 match(STATISTICS_INCREMENTAL);
29402 setState(4102);
29403 match(EQ_);
29404 setState(4103);
29405 _la = _input.LA(1);
29406 if ( !(_la==ON || _la==OFF) ) {
29407 _errHandler.recoverInline(this);
29408 }
29409 else {
29410 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29411 _errHandler.reportMatch(this);
29412 consume();
29413 }
29414 }
29415 break;
29416 case DROP_EXISTING:
29417 enterOuterAlt(_localctx, 7);
29418 {
29419 setState(4104);
29420 match(DROP_EXISTING);
29421 setState(4105);
29422 match(EQ_);
29423 setState(4106);
29424 _la = _input.LA(1);
29425 if ( !(_la==ON || _la==OFF) ) {
29426 _errHandler.recoverInline(this);
29427 }
29428 else {
29429 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29430 _errHandler.reportMatch(this);
29431 consume();
29432 }
29433 }
29434 break;
29435 case ONLINE:
29436 enterOuterAlt(_localctx, 8);
29437 {
29438 setState(4107);
29439 match(ONLINE);
29440 setState(4108);
29441 match(EQ_);
29442 setState(4114);
29443 _errHandler.sync(this);
29444 switch (_input.LA(1)) {
29445 case ON:
29446 {
29447 setState(4109);
29448 match(ON);
29449 setState(4111);
29450 _errHandler.sync(this);
29451 _la = _input.LA(1);
29452 if (_la==WAIT_AT_LOW_PRIORITY) {
29453 {
29454 setState(4110);
29455 lowPriorityLockWait();
29456 }
29457 }
29458
29459 }
29460 break;
29461 case OFF:
29462 {
29463 setState(4113);
29464 match(OFF);
29465 }
29466 break;
29467 default:
29468 throw new NoViableAltException(this);
29469 }
29470 }
29471 break;
29472 case RESUMABLE:
29473 enterOuterAlt(_localctx, 9);
29474 {
29475 setState(4116);
29476 match(RESUMABLE);
29477 setState(4117);
29478 match(EQ_);
29479 setState(4118);
29480 _la = _input.LA(1);
29481 if ( !(_la==ON || _la==OFF) ) {
29482 _errHandler.recoverInline(this);
29483 }
29484 else {
29485 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29486 _errHandler.reportMatch(this);
29487 consume();
29488 }
29489 }
29490 break;
29491 case MAX_DURATION:
29492 enterOuterAlt(_localctx, 10);
29493 {
29494 setState(4119);
29495 match(MAX_DURATION);
29496 setState(4120);
29497 match(EQ_);
29498 setState(4121);
29499 expr(0);
29500 setState(4123);
29501 _errHandler.sync(this);
29502 _la = _input.LA(1);
29503 if (_la==MINUTES) {
29504 {
29505 setState(4122);
29506 match(MINUTES);
29507 }
29508 }
29509
29510 }
29511 break;
29512 case ALLOW_ROW_LOCKS:
29513 enterOuterAlt(_localctx, 11);
29514 {
29515 setState(4125);
29516 match(ALLOW_ROW_LOCKS);
29517 setState(4126);
29518 match(EQ_);
29519 setState(4127);
29520 _la = _input.LA(1);
29521 if ( !(_la==ON || _la==OFF) ) {
29522 _errHandler.recoverInline(this);
29523 }
29524 else {
29525 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29526 _errHandler.reportMatch(this);
29527 consume();
29528 }
29529 }
29530 break;
29531 case ALLOW_PAGE_LOCKS:
29532 enterOuterAlt(_localctx, 12);
29533 {
29534 setState(4128);
29535 match(ALLOW_PAGE_LOCKS);
29536 setState(4129);
29537 match(EQ_);
29538 setState(4130);
29539 _la = _input.LA(1);
29540 if ( !(_la==ON || _la==OFF) ) {
29541 _errHandler.recoverInline(this);
29542 }
29543 else {
29544 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29545 _errHandler.reportMatch(this);
29546 consume();
29547 }
29548 }
29549 break;
29550 case OPTIMIZE_FOR_SEQUENTIAL_KEY:
29551 enterOuterAlt(_localctx, 13);
29552 {
29553 setState(4131);
29554 match(OPTIMIZE_FOR_SEQUENTIAL_KEY);
29555 setState(4132);
29556 match(EQ_);
29557 setState(4133);
29558 _la = _input.LA(1);
29559 if ( !(_la==ON || _la==OFF) ) {
29560 _errHandler.recoverInline(this);
29561 }
29562 else {
29563 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29564 _errHandler.reportMatch(this);
29565 consume();
29566 }
29567 }
29568 break;
29569 case MAXDOP:
29570 enterOuterAlt(_localctx, 14);
29571 {
29572 setState(4134);
29573 match(MAXDOP);
29574 setState(4135);
29575 match(EQ_);
29576 setState(4136);
29577 expr(0);
29578 }
29579 break;
29580 case DATA_COMPRESSION:
29581 enterOuterAlt(_localctx, 15);
29582 {
29583 setState(4137);
29584 match(DATA_COMPRESSION);
29585 setState(4138);
29586 match(EQ_);
29587 setState(4139);
29588 _la = _input.LA(1);
29589 if ( !(((((_la - 221)) & ~0x3f) == 0 && ((1L << (_la - 221)) & ((1L << (ROW - 221)) | (1L << (COLUMNSTORE - 221)) | (1L << (NONE - 221)) | (1L << (PAGE - 221)))) != 0) || _la==COLUMNSTORE_ARCHIVE) ) {
29590 _errHandler.recoverInline(this);
29591 }
29592 else {
29593 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29594 _errHandler.reportMatch(this);
29595 consume();
29596 }
29597 setState(4151);
29598 _errHandler.sync(this);
29599 _la = _input.LA(1);
29600 if (_la==ON) {
29601 {
29602 setState(4140);
29603 match(ON);
29604 setState(4141);
29605 match(PARTITIONS);
29606 setState(4142);
29607 match(LP_);
29608 setState(4143);
29609 partitionNumberRange();
29610 setState(4148);
29611 _errHandler.sync(this);
29612 _alt = getInterpreter().adaptivePredict(_input,441,_ctx);
29613 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
29614 if ( _alt==1 ) {
29615 {
29616 {
29617 setState(4144);
29618 match(COMMA_);
29619 setState(4145);
29620 partitionNumberRange();
29621 }
29622 }
29623 }
29624 setState(4150);
29625 _errHandler.sync(this);
29626 _alt = getInterpreter().adaptivePredict(_input,441,_ctx);
29627 }
29628 }
29629 }
29630
29631 }
29632 break;
29633 default:
29634 throw new NoViableAltException(this);
29635 }
29636 }
29637 catch (RecognitionException re) {
29638 _localctx.exception = re;
29639 _errHandler.reportError(this, re);
29640 _errHandler.recover(this, re);
29641 }
29642 finally {
29643 exitRule();
29644 }
29645 return _localctx;
29646 }
29647
29648 public static class PartitionNumberRangeContext extends ParserRuleContext {
29649 public List<ExprContext> expr() {
29650 return getRuleContexts(ExprContext.class);
29651 }
29652 public ExprContext expr(int i) {
29653 return getRuleContext(ExprContext.class,i);
29654 }
29655 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
29656 public PartitionNumberRangeContext(ParserRuleContext parent, int invokingState) {
29657 super(parent, invokingState);
29658 }
29659 @Override public int getRuleIndex() { return RULE_partitionNumberRange; }
29660 @Override
29661 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29662 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPartitionNumberRange(this);
29663 else return visitor.visitChildren(this);
29664 }
29665 }
29666
29667 public final PartitionNumberRangeContext partitionNumberRange() throws RecognitionException {
29668 PartitionNumberRangeContext _localctx = new PartitionNumberRangeContext(_ctx, getState());
29669 enterRule(_localctx, 582, RULE_partitionNumberRange);
29670 int _la;
29671 try {
29672 enterOuterAlt(_localctx, 1);
29673 {
29674 setState(4155);
29675 expr(0);
29676 setState(4158);
29677 _errHandler.sync(this);
29678 _la = _input.LA(1);
29679 if (_la==TO) {
29680 {
29681 setState(4156);
29682 match(TO);
29683 setState(4157);
29684 expr(0);
29685 }
29686 }
29687
29688 }
29689 }
29690 catch (RecognitionException re) {
29691 _localctx.exception = re;
29692 _errHandler.reportError(this, re);
29693 _errHandler.recover(this, re);
29694 }
29695 finally {
29696 exitRule();
29697 }
29698 return _localctx;
29699 }
29700
29701 public static class ReorganizeOptionContext extends ParserRuleContext {
29702 public TerminalNode LOB_COMPACTION() { return getToken(SQLServerStatementParser.LOB_COMPACTION, 0); }
29703 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
29704 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
29705 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
29706 public TerminalNode COMPRESS_ALL_ROW_GROUPS() { return getToken(SQLServerStatementParser.COMPRESS_ALL_ROW_GROUPS, 0); }
29707 public ReorganizeOptionContext(ParserRuleContext parent, int invokingState) {
29708 super(parent, invokingState);
29709 }
29710 @Override public int getRuleIndex() { return RULE_reorganizeOption; }
29711 @Override
29712 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29713 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitReorganizeOption(this);
29714 else return visitor.visitChildren(this);
29715 }
29716 }
29717
29718 public final ReorganizeOptionContext reorganizeOption() throws RecognitionException {
29719 ReorganizeOptionContext _localctx = new ReorganizeOptionContext(_ctx, getState());
29720 enterRule(_localctx, 584, RULE_reorganizeOption);
29721 int _la;
29722 try {
29723 setState(4166);
29724 _errHandler.sync(this);
29725 switch (_input.LA(1)) {
29726 case LOB_COMPACTION:
29727 enterOuterAlt(_localctx, 1);
29728 {
29729 setState(4160);
29730 match(LOB_COMPACTION);
29731 setState(4161);
29732 match(EQ_);
29733 setState(4162);
29734 _la = _input.LA(1);
29735 if ( !(_la==ON || _la==OFF) ) {
29736 _errHandler.recoverInline(this);
29737 }
29738 else {
29739 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29740 _errHandler.reportMatch(this);
29741 consume();
29742 }
29743 }
29744 break;
29745 case COMPRESS_ALL_ROW_GROUPS:
29746 enterOuterAlt(_localctx, 2);
29747 {
29748 setState(4163);
29749 match(COMPRESS_ALL_ROW_GROUPS);
29750 setState(4164);
29751 match(EQ_);
29752 setState(4165);
29753 _la = _input.LA(1);
29754 if ( !(_la==ON || _la==OFF) ) {
29755 _errHandler.recoverInline(this);
29756 }
29757 else {
29758 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29759 _errHandler.reportMatch(this);
29760 consume();
29761 }
29762 }
29763 break;
29764 default:
29765 throw new NoViableAltException(this);
29766 }
29767 }
29768 catch (RecognitionException re) {
29769 _localctx.exception = re;
29770 _errHandler.reportError(this, re);
29771 _errHandler.recover(this, re);
29772 }
29773 finally {
29774 exitRule();
29775 }
29776 return _localctx;
29777 }
29778
29779 public static class SetIndexOptionContext extends ParserRuleContext {
29780 public TerminalNode ALLOW_ROW_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_ROW_LOCKS, 0); }
29781 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
29782 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
29783 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
29784 public TerminalNode ALLOW_PAGE_LOCKS() { return getToken(SQLServerStatementParser.ALLOW_PAGE_LOCKS, 0); }
29785 public TerminalNode OPTIMIZE_FOR_SEQUENTIAL_KEY() { return getToken(SQLServerStatementParser.OPTIMIZE_FOR_SEQUENTIAL_KEY, 0); }
29786 public TerminalNode IGNORE_DUP_KEY() { return getToken(SQLServerStatementParser.IGNORE_DUP_KEY, 0); }
29787 public TerminalNode STATISTICS_NORECOMPUTE() { return getToken(SQLServerStatementParser.STATISTICS_NORECOMPUTE, 0); }
29788 public TerminalNode COMPRESSION_DELAY() { return getToken(SQLServerStatementParser.COMPRESSION_DELAY, 0); }
29789 public ExprContext expr() {
29790 return getRuleContext(ExprContext.class,0);
29791 }
29792 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
29793 public SetIndexOptionContext(ParserRuleContext parent, int invokingState) {
29794 super(parent, invokingState);
29795 }
29796 @Override public int getRuleIndex() { return RULE_setIndexOption; }
29797 @Override
29798 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29799 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetIndexOption(this);
29800 else return visitor.visitChildren(this);
29801 }
29802 }
29803
29804 public final SetIndexOptionContext setIndexOption() throws RecognitionException {
29805 SetIndexOptionContext _localctx = new SetIndexOptionContext(_ctx, getState());
29806 enterRule(_localctx, 586, RULE_setIndexOption);
29807 int _la;
29808 try {
29809 setState(4189);
29810 _errHandler.sync(this);
29811 switch (_input.LA(1)) {
29812 case ALLOW_ROW_LOCKS:
29813 enterOuterAlt(_localctx, 1);
29814 {
29815 setState(4168);
29816 match(ALLOW_ROW_LOCKS);
29817 setState(4169);
29818 match(EQ_);
29819 setState(4170);
29820 _la = _input.LA(1);
29821 if ( !(_la==ON || _la==OFF) ) {
29822 _errHandler.recoverInline(this);
29823 }
29824 else {
29825 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29826 _errHandler.reportMatch(this);
29827 consume();
29828 }
29829 }
29830 break;
29831 case ALLOW_PAGE_LOCKS:
29832 enterOuterAlt(_localctx, 2);
29833 {
29834 setState(4171);
29835 match(ALLOW_PAGE_LOCKS);
29836 setState(4172);
29837 match(EQ_);
29838 setState(4173);
29839 _la = _input.LA(1);
29840 if ( !(_la==ON || _la==OFF) ) {
29841 _errHandler.recoverInline(this);
29842 }
29843 else {
29844 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29845 _errHandler.reportMatch(this);
29846 consume();
29847 }
29848 }
29849 break;
29850 case OPTIMIZE_FOR_SEQUENTIAL_KEY:
29851 enterOuterAlt(_localctx, 3);
29852 {
29853 setState(4174);
29854 match(OPTIMIZE_FOR_SEQUENTIAL_KEY);
29855 setState(4175);
29856 match(EQ_);
29857 setState(4176);
29858 _la = _input.LA(1);
29859 if ( !(_la==ON || _la==OFF) ) {
29860 _errHandler.recoverInline(this);
29861 }
29862 else {
29863 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29864 _errHandler.reportMatch(this);
29865 consume();
29866 }
29867 }
29868 break;
29869 case IGNORE_DUP_KEY:
29870 enterOuterAlt(_localctx, 4);
29871 {
29872 setState(4177);
29873 match(IGNORE_DUP_KEY);
29874 setState(4178);
29875 match(EQ_);
29876 setState(4179);
29877 _la = _input.LA(1);
29878 if ( !(_la==ON || _la==OFF) ) {
29879 _errHandler.recoverInline(this);
29880 }
29881 else {
29882 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29883 _errHandler.reportMatch(this);
29884 consume();
29885 }
29886 }
29887 break;
29888 case STATISTICS_NORECOMPUTE:
29889 enterOuterAlt(_localctx, 5);
29890 {
29891 setState(4180);
29892 match(STATISTICS_NORECOMPUTE);
29893 setState(4181);
29894 match(EQ_);
29895 setState(4182);
29896 _la = _input.LA(1);
29897 if ( !(_la==ON || _la==OFF) ) {
29898 _errHandler.recoverInline(this);
29899 }
29900 else {
29901 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
29902 _errHandler.reportMatch(this);
29903 consume();
29904 }
29905 }
29906 break;
29907 case COMPRESSION_DELAY:
29908 enterOuterAlt(_localctx, 6);
29909 {
29910 setState(4183);
29911 match(COMPRESSION_DELAY);
29912 setState(4184);
29913 match(EQ_);
29914 {
29915 setState(4185);
29916 expr(0);
29917 setState(4187);
29918 _errHandler.sync(this);
29919 _la = _input.LA(1);
29920 if (_la==MINUTES) {
29921 {
29922 setState(4186);
29923 match(MINUTES);
29924 }
29925 }
29926
29927 }
29928 }
29929 break;
29930 default:
29931 throw new NoViableAltException(this);
29932 }
29933 }
29934 catch (RecognitionException re) {
29935 _localctx.exception = re;
29936 _errHandler.reportError(this, re);
29937 _errHandler.recover(this, re);
29938 }
29939 finally {
29940 exitRule();
29941 }
29942 return _localctx;
29943 }
29944
29945 public static class ResumableIndexOptionsContext extends ParserRuleContext {
29946 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
29947 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
29948 public ExprContext expr() {
29949 return getRuleContext(ExprContext.class,0);
29950 }
29951 public TerminalNode MAX_DURATION() { return getToken(SQLServerStatementParser.MAX_DURATION, 0); }
29952 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
29953 public LowPriorityLockWaitContext lowPriorityLockWait() {
29954 return getRuleContext(LowPriorityLockWaitContext.class,0);
29955 }
29956 public ResumableIndexOptionsContext(ParserRuleContext parent, int invokingState) {
29957 super(parent, invokingState);
29958 }
29959 @Override public int getRuleIndex() { return RULE_resumableIndexOptions; }
29960 @Override
29961 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
29962 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitResumableIndexOptions(this);
29963 else return visitor.visitChildren(this);
29964 }
29965 }
29966
29967 public final ResumableIndexOptionsContext resumableIndexOptions() throws RecognitionException {
29968 ResumableIndexOptionsContext _localctx = new ResumableIndexOptionsContext(_ctx, getState());
29969 enterRule(_localctx, 588, RULE_resumableIndexOptions);
29970 int _la;
29971 try {
29972 setState(4201);
29973 _errHandler.sync(this);
29974 switch (_input.LA(1)) {
29975 case MAXDOP:
29976 enterOuterAlt(_localctx, 1);
29977 {
29978 setState(4191);
29979 match(MAXDOP);
29980 setState(4192);
29981 match(EQ_);
29982 setState(4193);
29983 expr(0);
29984 }
29985 break;
29986 case MAX_DURATION:
29987 enterOuterAlt(_localctx, 2);
29988 {
29989 setState(4194);
29990 match(MAX_DURATION);
29991 setState(4195);
29992 match(EQ_);
29993 setState(4196);
29994 expr(0);
29995 setState(4198);
29996 _errHandler.sync(this);
29997 _la = _input.LA(1);
29998 if (_la==MINUTES) {
29999 {
30000 setState(4197);
30001 match(MINUTES);
30002 }
30003 }
30004
30005 }
30006 break;
30007 case WAIT_AT_LOW_PRIORITY:
30008 enterOuterAlt(_localctx, 3);
30009 {
30010 setState(4200);
30011 lowPriorityLockWait();
30012 }
30013 break;
30014 default:
30015 throw new NoViableAltException(this);
30016 }
30017 }
30018 catch (RecognitionException re) {
30019 _localctx.exception = re;
30020 _errHandler.reportError(this, re);
30021 _errHandler.recover(this, re);
30022 }
30023 finally {
30024 exitRule();
30025 }
30026 return _localctx;
30027 }
30028
30029 public static class AlterDatabaseClauseContext extends ParserRuleContext {
30030 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
30031 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
30032 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30033 public DatabaseNameContext databaseName() {
30034 return getRuleContext(DatabaseNameContext.class,0);
30035 }
30036 public TerminalNode COLLATE() { return getToken(SQLServerStatementParser.COLLATE, 0); }
30037 public IgnoredIdentifierContext ignoredIdentifier() {
30038 return getRuleContext(IgnoredIdentifierContext.class,0);
30039 }
30040 public FileAndFilegroupOptionsContext fileAndFilegroupOptions() {
30041 return getRuleContext(FileAndFilegroupOptionsContext.class,0);
30042 }
30043 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
30044 public List<AlterDatabaseOptionSpecContext> alterDatabaseOptionSpec() {
30045 return getRuleContexts(AlterDatabaseOptionSpecContext.class);
30046 }
30047 public AlterDatabaseOptionSpecContext alterDatabaseOptionSpec(int i) {
30048 return getRuleContext(AlterDatabaseOptionSpecContext.class,i);
30049 }
30050 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
30051 public TerminalNode COMMA_(int i) {
30052 return getToken(SQLServerStatementParser.COMMA_, i);
30053 }
30054 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
30055 public TerminationContext termination() {
30056 return getRuleContext(TerminationContext.class,0);
30057 }
30058 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
30059 public List<EditionOptionsContext> editionOptions() {
30060 return getRuleContexts(EditionOptionsContext.class);
30061 }
30062 public EditionOptionsContext editionOptions(int i) {
30063 return getRuleContext(EditionOptionsContext.class,i);
30064 }
30065 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
30066 public TerminalNode BACKUP_STORAGE_REDUNDANCY() { return getToken(SQLServerStatementParser.BACKUP_STORAGE_REDUNDANCY, 0); }
30067 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
30068 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
30069 public TerminalNode SECONDARY() { return getToken(SQLServerStatementParser.SECONDARY, 0); }
30070 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
30071 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
30072 public List<AddSecondaryOptionContext> addSecondaryOption() {
30073 return getRuleContexts(AddSecondaryOptionContext.class);
30074 }
30075 public AddSecondaryOptionContext addSecondaryOption(int i) {
30076 return getRuleContext(AddSecondaryOptionContext.class,i);
30077 }
30078 public TerminalNode FAILOVER() { return getToken(SQLServerStatementParser.FAILOVER, 0); }
30079 public TerminalNode FORCE_FAILOVER_ALLOW_DATA_LOSS() { return getToken(SQLServerStatementParser.FORCE_FAILOVER_ALLOW_DATA_LOSS, 0); }
30080 public AlterDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
30081 super(parent, invokingState);
30082 }
30083 @Override public int getRuleIndex() { return RULE_alterDatabaseClause; }
30084 @Override
30085 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30086 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabaseClause(this);
30087 else return visitor.visitChildren(this);
30088 }
30089 }
30090
30091 public final AlterDatabaseClauseContext alterDatabaseClause() throws RecognitionException {
30092 AlterDatabaseClauseContext _localctx = new AlterDatabaseClauseContext(_ctx, getState());
30093 enterRule(_localctx, 590, RULE_alterDatabaseClause);
30094 int _la;
30095 try {
30096 setState(4257);
30097 _errHandler.sync(this);
30098 switch ( getInterpreter().adaptivePredict(_input,455,_ctx) ) {
30099 case 1:
30100 enterOuterAlt(_localctx, 1);
30101 {
30102 setState(4203);
30103 match(MODIFY);
30104 setState(4204);
30105 match(NAME);
30106 setState(4205);
30107 match(EQ_);
30108 setState(4206);
30109 databaseName();
30110 }
30111 break;
30112 case 2:
30113 enterOuterAlt(_localctx, 2);
30114 {
30115 setState(4207);
30116 match(COLLATE);
30117 setState(4208);
30118 ignoredIdentifier();
30119 }
30120 break;
30121 case 3:
30122 enterOuterAlt(_localctx, 3);
30123 {
30124 setState(4209);
30125 fileAndFilegroupOptions();
30126 }
30127 break;
30128 case 4:
30129 enterOuterAlt(_localctx, 4);
30130 {
30131 setState(4210);
30132 match(SET);
30133 setState(4211);
30134 alterDatabaseOptionSpec();
30135 setState(4216);
30136 _errHandler.sync(this);
30137 _la = _input.LA(1);
30138 while (_la==COMMA_) {
30139 {
30140 {
30141 setState(4212);
30142 match(COMMA_);
30143 setState(4213);
30144 alterDatabaseOptionSpec();
30145 }
30146 }
30147 setState(4218);
30148 _errHandler.sync(this);
30149 _la = _input.LA(1);
30150 }
30151 setState(4221);
30152 _errHandler.sync(this);
30153 _la = _input.LA(1);
30154 if (_la==WITH) {
30155 {
30156 setState(4219);
30157 match(WITH);
30158 setState(4220);
30159 termination();
30160 }
30161 }
30162
30163 }
30164 break;
30165 case 5:
30166 enterOuterAlt(_localctx, 5);
30167 {
30168 setState(4223);
30169 match(MODIFY);
30170 setState(4224);
30171 match(LP_);
30172 setState(4225);
30173 editionOptions();
30174 setState(4230);
30175 _errHandler.sync(this);
30176 _la = _input.LA(1);
30177 while (_la==COMMA_) {
30178 {
30179 {
30180 setState(4226);
30181 match(COMMA_);
30182 setState(4227);
30183 editionOptions();
30184 }
30185 }
30186 setState(4232);
30187 _errHandler.sync(this);
30188 _la = _input.LA(1);
30189 }
30190 setState(4233);
30191 match(RP_);
30192 }
30193 break;
30194 case 6:
30195 enterOuterAlt(_localctx, 6);
30196 {
30197 setState(4235);
30198 match(MODIFY);
30199 setState(4236);
30200 match(BACKUP_STORAGE_REDUNDANCY);
30201 setState(4237);
30202 match(EQ_);
30203 setState(4238);
30204 match(STRING_);
30205 }
30206 break;
30207 case 7:
30208 enterOuterAlt(_localctx, 7);
30209 {
30210 setState(4239);
30211 match(ADD);
30212 setState(4240);
30213 match(SECONDARY);
30214 setState(4241);
30215 match(ON);
30216 setState(4242);
30217 match(SERVER);
30218 setState(4243);
30219 ignoredIdentifier();
30220 setState(4253);
30221 _errHandler.sync(this);
30222 _la = _input.LA(1);
30223 if (_la==WITH) {
30224 {
30225 setState(4244);
30226 match(WITH);
30227 setState(4245);
30228 addSecondaryOption();
30229 setState(4250);
30230 _errHandler.sync(this);
30231 _la = _input.LA(1);
30232 while (_la==COMMA_) {
30233 {
30234 {
30235 setState(4246);
30236 match(COMMA_);
30237 setState(4247);
30238 addSecondaryOption();
30239 }
30240 }
30241 setState(4252);
30242 _errHandler.sync(this);
30243 _la = _input.LA(1);
30244 }
30245 }
30246 }
30247
30248 }
30249 break;
30250 case 8:
30251 enterOuterAlt(_localctx, 8);
30252 {
30253 setState(4255);
30254 match(FAILOVER);
30255 }
30256 break;
30257 case 9:
30258 enterOuterAlt(_localctx, 9);
30259 {
30260 setState(4256);
30261 match(FORCE_FAILOVER_ALLOW_DATA_LOSS);
30262 }
30263 break;
30264 }
30265 }
30266 catch (RecognitionException re) {
30267 _localctx.exception = re;
30268 _errHandler.reportError(this, re);
30269 _errHandler.recover(this, re);
30270 }
30271 finally {
30272 exitRule();
30273 }
30274 return _localctx;
30275 }
30276
30277 public static class AddSecondaryOptionContext extends ParserRuleContext {
30278 public Token SECONDARY_TYPE;
30279 public TerminalNode ALLOW_CONNECTIONS() { return getToken(SQLServerStatementParser.ALLOW_CONNECTIONS, 0); }
30280 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
30281 public TerminalNode EQ_(int i) {
30282 return getToken(SQLServerStatementParser.EQ_, i);
30283 }
30284 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
30285 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
30286 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
30287 public ServiceObjectiveContext serviceObjective() {
30288 return getRuleContext(ServiceObjectiveContext.class,0);
30289 }
30290 public TerminalNode DATABASE_NAME() { return getToken(SQLServerStatementParser.DATABASE_NAME, 0); }
30291 public DatabaseNameContext databaseName() {
30292 return getRuleContext(DatabaseNameContext.class,0);
30293 }
30294 public TerminalNode GEO() { return getToken(SQLServerStatementParser.GEO, 0); }
30295 public TerminalNode NAMED() { return getToken(SQLServerStatementParser.NAMED, 0); }
30296 public AddSecondaryOptionContext(ParserRuleContext parent, int invokingState) {
30297 super(parent, invokingState);
30298 }
30299 @Override public int getRuleIndex() { return RULE_addSecondaryOption; }
30300 @Override
30301 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30302 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddSecondaryOption(this);
30303 else return visitor.visitChildren(this);
30304 }
30305 }
30306
30307 public final AddSecondaryOptionContext addSecondaryOption() throws RecognitionException {
30308 AddSecondaryOptionContext _localctx = new AddSecondaryOptionContext(_ctx, getState());
30309 enterRule(_localctx, 592, RULE_addSecondaryOption);
30310 int _la;
30311 try {
30312 setState(4271);
30313 _errHandler.sync(this);
30314 switch (_input.LA(1)) {
30315 case ALLOW_CONNECTIONS:
30316 enterOuterAlt(_localctx, 1);
30317 {
30318 setState(4259);
30319 match(ALLOW_CONNECTIONS);
30320 setState(4260);
30321 match(EQ_);
30322 setState(4261);
30323 _la = _input.LA(1);
30324 if ( !(_la==ALL || _la==NO) ) {
30325 _errHandler.recoverInline(this);
30326 }
30327 else {
30328 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30329 _errHandler.reportMatch(this);
30330 consume();
30331 }
30332 }
30333 break;
30334 case SERVICE_OBJECTIVE:
30335 enterOuterAlt(_localctx, 2);
30336 {
30337 setState(4262);
30338 match(SERVICE_OBJECTIVE);
30339 setState(4263);
30340 match(EQ_);
30341 setState(4269);
30342 _errHandler.sync(this);
30343 switch (_input.LA(1)) {
30344 case ELASTIC_POOL:
30345 case STRING_:
30346 {
30347 setState(4264);
30348 serviceObjective();
30349 }
30350 break;
30351 case DATABASE_NAME:
30352 {
30353 setState(4265);
30354 match(DATABASE_NAME);
30355 setState(4266);
30356 match(EQ_);
30357 setState(4267);
30358 databaseName();
30359 }
30360 break;
30361 case GEO:
30362 case NAMED:
30363 {
30364 setState(4268);
30365 ((AddSecondaryOptionContext)_localctx).SECONDARY_TYPE = _input.LT(1);
30366 _la = _input.LA(1);
30367 if ( !(_la==GEO || _la==NAMED) ) {
30368 ((AddSecondaryOptionContext)_localctx).SECONDARY_TYPE = (Token)_errHandler.recoverInline(this);
30369 }
30370 else {
30371 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30372 _errHandler.reportMatch(this);
30373 consume();
30374 }
30375 }
30376 break;
30377 default:
30378 throw new NoViableAltException(this);
30379 }
30380 }
30381 break;
30382 default:
30383 throw new NoViableAltException(this);
30384 }
30385 }
30386 catch (RecognitionException re) {
30387 _localctx.exception = re;
30388 _errHandler.reportError(this, re);
30389 _errHandler.recover(this, re);
30390 }
30391 finally {
30392 exitRule();
30393 }
30394 return _localctx;
30395 }
30396
30397 public static class EditionOptionsContext extends ParserRuleContext {
30398 public TerminalNode MAXSIZE() { return getToken(SQLServerStatementParser.MAXSIZE, 0); }
30399 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30400 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
30401 public TerminalNode MB() { return getToken(SQLServerStatementParser.MB, 0); }
30402 public TerminalNode GB() { return getToken(SQLServerStatementParser.GB, 0); }
30403 public TerminalNode EDITION() { return getToken(SQLServerStatementParser.EDITION, 0); }
30404 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
30405 public TerminalNode SERVICE_OBJECTIVE() { return getToken(SQLServerStatementParser.SERVICE_OBJECTIVE, 0); }
30406 public ServiceObjectiveContext serviceObjective() {
30407 return getRuleContext(ServiceObjectiveContext.class,0);
30408 }
30409 public EditionOptionsContext(ParserRuleContext parent, int invokingState) {
30410 super(parent, invokingState);
30411 }
30412 @Override public int getRuleIndex() { return RULE_editionOptions; }
30413 @Override
30414 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30415 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEditionOptions(this);
30416 else return visitor.visitChildren(this);
30417 }
30418 }
30419
30420 public final EditionOptionsContext editionOptions() throws RecognitionException {
30421 EditionOptionsContext _localctx = new EditionOptionsContext(_ctx, getState());
30422 enterRule(_localctx, 594, RULE_editionOptions);
30423 int _la;
30424 try {
30425 setState(4286);
30426 _errHandler.sync(this);
30427 switch (_input.LA(1)) {
30428 case MAXSIZE:
30429 enterOuterAlt(_localctx, 1);
30430 {
30431 setState(4273);
30432 match(MAXSIZE);
30433 setState(4274);
30434 match(EQ_);
30435 setState(4275);
30436 match(NUMBER_);
30437 setState(4276);
30438 _la = _input.LA(1);
30439 if ( !(_la==MB || _la==GB) ) {
30440 _errHandler.recoverInline(this);
30441 }
30442 else {
30443 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30444 _errHandler.reportMatch(this);
30445 consume();
30446 }
30447 }
30448 break;
30449 case EDITION:
30450 enterOuterAlt(_localctx, 2);
30451 {
30452 setState(4277);
30453 match(EDITION);
30454 setState(4278);
30455 match(EQ_);
30456 setState(4279);
30457 match(STRING_);
30458 }
30459 break;
30460 case SERVICE_OBJECTIVE:
30461 enterOuterAlt(_localctx, 3);
30462 {
30463 setState(4280);
30464 match(SERVICE_OBJECTIVE);
30465 setState(4281);
30466 match(EQ_);
30467 setState(4284);
30468 _errHandler.sync(this);
30469 switch ( getInterpreter().adaptivePredict(_input,458,_ctx) ) {
30470 case 1:
30471 {
30472 setState(4282);
30473 match(STRING_);
30474 }
30475 break;
30476 case 2:
30477 {
30478 setState(4283);
30479 serviceObjective();
30480 }
30481 break;
30482 }
30483 }
30484 break;
30485 default:
30486 throw new NoViableAltException(this);
30487 }
30488 }
30489 catch (RecognitionException re) {
30490 _localctx.exception = re;
30491 _errHandler.reportError(this, re);
30492 _errHandler.recover(this, re);
30493 }
30494 finally {
30495 exitRule();
30496 }
30497 return _localctx;
30498 }
30499
30500 public static class ServiceObjectiveContext extends ParserRuleContext {
30501 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
30502 public TerminalNode ELASTIC_POOL() { return getToken(SQLServerStatementParser.ELASTIC_POOL, 0); }
30503 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
30504 public IgnoredIdentifierContext ignoredIdentifier() {
30505 return getRuleContext(IgnoredIdentifierContext.class,0);
30506 }
30507 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30508 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
30509 public ServiceObjectiveContext(ParserRuleContext parent, int invokingState) {
30510 super(parent, invokingState);
30511 }
30512 @Override public int getRuleIndex() { return RULE_serviceObjective; }
30513 @Override
30514 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30515 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceObjective(this);
30516 else return visitor.visitChildren(this);
30517 }
30518 }
30519
30520 public final ServiceObjectiveContext serviceObjective() throws RecognitionException {
30521 ServiceObjectiveContext _localctx = new ServiceObjectiveContext(_ctx, getState());
30522 enterRule(_localctx, 596, RULE_serviceObjective);
30523 try {
30524 setState(4296);
30525 _errHandler.sync(this);
30526 switch (_input.LA(1)) {
30527 case STRING_:
30528 enterOuterAlt(_localctx, 1);
30529 {
30530 setState(4288);
30531 match(STRING_);
30532 }
30533 break;
30534 case ELASTIC_POOL:
30535 enterOuterAlt(_localctx, 2);
30536 {
30537 setState(4289);
30538 match(ELASTIC_POOL);
30539 setState(4290);
30540 match(LP_);
30541 setState(4291);
30542 ignoredIdentifier();
30543 setState(4292);
30544 match(EQ_);
30545 setState(4293);
30546 match(STRING_);
30547 setState(4294);
30548 match(RP_);
30549 }
30550 break;
30551 default:
30552 throw new NoViableAltException(this);
30553 }
30554 }
30555 catch (RecognitionException re) {
30556 _localctx.exception = re;
30557 _errHandler.reportError(this, re);
30558 _errHandler.recover(this, re);
30559 }
30560 finally {
30561 exitRule();
30562 }
30563 return _localctx;
30564 }
30565
30566 public static class AlterDatabaseOptionSpecContext extends ParserRuleContext {
30567 public AcceleratedDatabaseRecoveryContext acceleratedDatabaseRecovery() {
30568 return getRuleContext(AcceleratedDatabaseRecoveryContext.class,0);
30569 }
30570 public AutoOptionContext autoOption() {
30571 return getRuleContext(AutoOptionContext.class,0);
30572 }
30573 public AutomaticTuningOptionContext automaticTuningOption() {
30574 return getRuleContext(AutomaticTuningOptionContext.class,0);
30575 }
30576 public ChangeTrackingOptionContext changeTrackingOption() {
30577 return getRuleContext(ChangeTrackingOptionContext.class,0);
30578 }
30579 public TerminalNode CONTAINMENT() { return getToken(SQLServerStatementParser.CONTAINMENT, 0); }
30580 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
30581 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
30582 public TerminalNode PARTIAL() { return getToken(SQLServerStatementParser.PARTIAL, 0); }
30583 public CursorOptionContext cursorOption() {
30584 return getRuleContext(CursorOptionContext.class,0);
30585 }
30586 public TerminalNode DATE_CORRELATION_OPTIMIZATION() { return getToken(SQLServerStatementParser.DATE_CORRELATION_OPTIMIZATION, 0); }
30587 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
30588 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
30589 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
30590 public TerminalNode SUSPEND() { return getToken(SQLServerStatementParser.SUSPEND, 0); }
30591 public TerminalNode RESUME() { return getToken(SQLServerStatementParser.RESUME, 0); }
30592 public TerminalNode ONLINE() { return getToken(SQLServerStatementParser.ONLINE, 0); }
30593 public TerminalNode OFFLINE() { return getToken(SQLServerStatementParser.OFFLINE, 0); }
30594 public TerminalNode EMERGENCY() { return getToken(SQLServerStatementParser.EMERGENCY, 0); }
30595 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
30596 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
30597 public TerminalNode SINGLE_USER() { return getToken(SQLServerStatementParser.SINGLE_USER, 0); }
30598 public TerminalNode RESTRICTED_USER() { return getToken(SQLServerStatementParser.RESTRICTED_USER, 0); }
30599 public TerminalNode MULTI_USER() { return getToken(SQLServerStatementParser.MULTI_USER, 0); }
30600 public TerminalNode DELAYED_DURABILITY() { return getToken(SQLServerStatementParser.DELAYED_DURABILITY, 0); }
30601 public TerminalNode DISABLED() { return getToken(SQLServerStatementParser.DISABLED, 0); }
30602 public TerminalNode ALLOWED() { return getToken(SQLServerStatementParser.ALLOWED, 0); }
30603 public TerminalNode FORCED() { return getToken(SQLServerStatementParser.FORCED, 0); }
30604 public ExternalAccessOptionContext externalAccessOption() {
30605 return getRuleContext(ExternalAccessOptionContext.class,0);
30606 }
30607 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
30608 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
30609 public FileStreamOptionContext fileStreamOption() {
30610 return getRuleContext(FileStreamOptionContext.class,0);
30611 }
30612 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
30613 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
30614 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
30615 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
30616 public TerminalNode HADR() { return getToken(SQLServerStatementParser.HADR, 0); }
30617 public TerminalNode MIXED_PAGE_ALLOCATION() { return getToken(SQLServerStatementParser.MIXED_PAGE_ALLOCATION, 0); }
30618 public TerminalNode PARAMETERIZATION() { return getToken(SQLServerStatementParser.PARAMETERIZATION, 0); }
30619 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
30620 public QueryStoreOptionsContext queryStoreOptions() {
30621 return getRuleContext(QueryStoreOptionsContext.class,0);
30622 }
30623 public RecoveryOptionContext recoveryOption() {
30624 return getRuleContext(RecoveryOptionContext.class,0);
30625 }
30626 public ServiceBrokerOptionContext serviceBrokerOption() {
30627 return getRuleContext(ServiceBrokerOptionContext.class,0);
30628 }
30629 public SnapshotOptionContext snapshotOption() {
30630 return getRuleContext(SnapshotOptionContext.class,0);
30631 }
30632 public SqlOptionContext sqlOption() {
30633 return getRuleContext(SqlOptionContext.class,0);
30634 }
30635 public TargetRecoveryTimeOptionContext targetRecoveryTimeOption() {
30636 return getRuleContext(TargetRecoveryTimeOptionContext.class,0);
30637 }
30638 public TerminationContext termination() {
30639 return getRuleContext(TerminationContext.class,0);
30640 }
30641 public TerminalNode TEMPORAL_HISTORY_RETENTION() { return getToken(SQLServerStatementParser.TEMPORAL_HISTORY_RETENTION, 0); }
30642 public TerminalNode DATA_RETENTION() { return getToken(SQLServerStatementParser.DATA_RETENTION, 0); }
30643 public AlterDatabaseOptionSpecContext(ParserRuleContext parent, int invokingState) {
30644 super(parent, invokingState);
30645 }
30646 @Override public int getRuleIndex() { return RULE_alterDatabaseOptionSpec; }
30647 @Override
30648 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
30649 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterDatabaseOptionSpec(this);
30650 else return visitor.visitChildren(this);
30651 }
30652 }
30653
30654 public final AlterDatabaseOptionSpecContext alterDatabaseOptionSpec() throws RecognitionException {
30655 AlterDatabaseOptionSpecContext _localctx = new AlterDatabaseOptionSpecContext(_ctx, getState());
30656 enterRule(_localctx, 598, RULE_alterDatabaseOptionSpec);
30657 int _la;
30658 try {
30659 setState(4341);
30660 _errHandler.sync(this);
30661 switch (_input.LA(1)) {
30662 case ACCELERATED_DATABASE_RECOVERY:
30663 enterOuterAlt(_localctx, 1);
30664 {
30665 setState(4298);
30666 acceleratedDatabaseRecovery();
30667 }
30668 break;
30669 case AUTO_UPDATE_STATISTICS_ASYNC:
30670 case AUTO_UPDATE_STATISTICS:
30671 case AUTO_SHRINK:
30672 case AUTO_CREATE_STATISTICS:
30673 case AUTO_CLOSE:
30674 enterOuterAlt(_localctx, 2);
30675 {
30676 setState(4299);
30677 autoOption();
30678 }
30679 break;
30680 case AUTOMATIC_TUNING:
30681 enterOuterAlt(_localctx, 3);
30682 {
30683 setState(4300);
30684 automaticTuningOption();
30685 }
30686 break;
30687 case CHANGE_TRACKING:
30688 enterOuterAlt(_localctx, 4);
30689 {
30690 setState(4301);
30691 changeTrackingOption();
30692 }
30693 break;
30694 case CONTAINMENT:
30695 enterOuterAlt(_localctx, 5);
30696 {
30697 setState(4302);
30698 match(CONTAINMENT);
30699 setState(4303);
30700 match(EQ_);
30701 setState(4304);
30702 _la = _input.LA(1);
30703 if ( !(_la==NONE || _la==PARTIAL) ) {
30704 _errHandler.recoverInline(this);
30705 }
30706 else {
30707 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30708 _errHandler.reportMatch(this);
30709 consume();
30710 }
30711 }
30712 break;
30713 case CURSOR_DEFAULT:
30714 case CURSOR_CLOSE_ON_COMMIT:
30715 enterOuterAlt(_localctx, 6);
30716 {
30717 setState(4305);
30718 cursorOption();
30719 }
30720 break;
30721 case DATE_CORRELATION_OPTIMIZATION:
30722 enterOuterAlt(_localctx, 7);
30723 {
30724 setState(4306);
30725 match(DATE_CORRELATION_OPTIMIZATION);
30726 setState(4307);
30727 _la = _input.LA(1);
30728 if ( !(_la==ON || _la==OFF) ) {
30729 _errHandler.recoverInline(this);
30730 }
30731 else {
30732 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30733 _errHandler.reportMatch(this);
30734 consume();
30735 }
30736 }
30737 break;
30738 case ENCRYPTION:
30739 enterOuterAlt(_localctx, 8);
30740 {
30741 setState(4308);
30742 match(ENCRYPTION);
30743 setState(4309);
30744 _la = _input.LA(1);
30745 if ( !(_la==ON || _la==OFF || _la==RESUME || _la==SUSPEND) ) {
30746 _errHandler.recoverInline(this);
30747 }
30748 else {
30749 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30750 _errHandler.reportMatch(this);
30751 consume();
30752 }
30753 }
30754 break;
30755 case ONLINE:
30756 case OFFLINE:
30757 case EMERGENCY:
30758 enterOuterAlt(_localctx, 9);
30759 {
30760 setState(4310);
30761 _la = _input.LA(1);
30762 if ( !(_la==ONLINE || _la==OFFLINE || _la==EMERGENCY) ) {
30763 _errHandler.recoverInline(this);
30764 }
30765 else {
30766 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30767 _errHandler.reportMatch(this);
30768 consume();
30769 }
30770 }
30771 break;
30772 case READ_ONLY:
30773 case READ_WRITE:
30774 enterOuterAlt(_localctx, 10);
30775 {
30776 setState(4311);
30777 _la = _input.LA(1);
30778 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
30779 _errHandler.recoverInline(this);
30780 }
30781 else {
30782 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30783 _errHandler.reportMatch(this);
30784 consume();
30785 }
30786 }
30787 break;
30788 case MULTI_USER:
30789 case RESTRICTED_USER:
30790 case SINGLE_USER:
30791 enterOuterAlt(_localctx, 11);
30792 {
30793 setState(4312);
30794 _la = _input.LA(1);
30795 if ( !(((((_la - 612)) & ~0x3f) == 0 && ((1L << (_la - 612)) & ((1L << (MULTI_USER - 612)) | (1L << (RESTRICTED_USER - 612)) | (1L << (SINGLE_USER - 612)))) != 0)) ) {
30796 _errHandler.recoverInline(this);
30797 }
30798 else {
30799 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30800 _errHandler.reportMatch(this);
30801 consume();
30802 }
30803 }
30804 break;
30805 case DELAYED_DURABILITY:
30806 enterOuterAlt(_localctx, 12);
30807 {
30808 setState(4313);
30809 match(DELAYED_DURABILITY);
30810 setState(4314);
30811 match(EQ_);
30812 setState(4315);
30813 _la = _input.LA(1);
30814 if ( !(_la==FORCED || _la==DISABLED || _la==ALLOWED) ) {
30815 _errHandler.recoverInline(this);
30816 }
30817 else {
30818 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30819 _errHandler.reportMatch(this);
30820 consume();
30821 }
30822 }
30823 break;
30824 case DB_CHAINING:
30825 case TRUSTWORTHY:
30826 case DEFAULT_FULLTEXT_LANGUAGE:
30827 case DEFAULT_LANGUAGE:
30828 case NESTED_TRIGGERS:
30829 case TRANSFORM_NOISE_WORDS:
30830 case TWO_DIGIT_YEAR_CUTOFF:
30831 enterOuterAlt(_localctx, 13);
30832 {
30833 setState(4316);
30834 externalAccessOption();
30835 }
30836 break;
30837 case FILESTREAM:
30838 enterOuterAlt(_localctx, 14);
30839 {
30840 setState(4317);
30841 match(FILESTREAM);
30842 setState(4318);
30843 match(LP_);
30844 setState(4319);
30845 fileStreamOption();
30846 setState(4320);
30847 match(RP_);
30848 }
30849 break;
30850 case ALTER:
30851 enterOuterAlt(_localctx, 15);
30852 {
30853 setState(4322);
30854 match(ALTER);
30855 setState(4323);
30856 match(DATABASE);
30857 setState(4324);
30858 match(SET);
30859 setState(4325);
30860 match(HADR);
30861 }
30862 break;
30863 case MIXED_PAGE_ALLOCATION:
30864 enterOuterAlt(_localctx, 16);
30865 {
30866 setState(4326);
30867 match(MIXED_PAGE_ALLOCATION);
30868 setState(4327);
30869 _la = _input.LA(1);
30870 if ( !(_la==ON || _la==OFF) ) {
30871 _errHandler.recoverInline(this);
30872 }
30873 else {
30874 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30875 _errHandler.reportMatch(this);
30876 consume();
30877 }
30878 }
30879 break;
30880 case PARAMETERIZATION:
30881 enterOuterAlt(_localctx, 17);
30882 {
30883 setState(4328);
30884 match(PARAMETERIZATION);
30885 setState(4329);
30886 _la = _input.LA(1);
30887 if ( !(_la==SIMPLE || _la==FORCED) ) {
30888 _errHandler.recoverInline(this);
30889 }
30890 else {
30891 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30892 _errHandler.reportMatch(this);
30893 consume();
30894 }
30895 }
30896 break;
30897 case QUERY_STORE:
30898 enterOuterAlt(_localctx, 18);
30899 {
30900 setState(4330);
30901 queryStoreOptions();
30902 }
30903 break;
30904 case PAGE_VERIFY:
30905 case TORN_PAGE_DETECTION:
30906 case RECOVERY:
30907 enterOuterAlt(_localctx, 19);
30908 {
30909 setState(4331);
30910 recoveryOption();
30911 }
30912 break;
30913 case HONOR_BROKER_PRIORITY:
30914 case ERROR_BROKER_CONVERSATIONS:
30915 case NEW_BROKER:
30916 case DISABLE_BROKER:
30917 case ENABLE_BROKER:
30918 enterOuterAlt(_localctx, 20);
30919 {
30920 setState(4332);
30921 serviceBrokerOption();
30922 }
30923 break;
30924 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
30925 case READ_COMMITTED_SNAPSHOT:
30926 case ALLOW_SNAPSHOT_ISOLATION:
30927 enterOuterAlt(_localctx, 21);
30928 {
30929 setState(4333);
30930 snapshotOption();
30931 }
30932 break;
30933 case RECURSIVE_TRIGGERS:
30934 case QUOTED_IDENTIFIER:
30935 case NUMERIC_ROUNDABORT:
30936 case CONCAT_NULL_YIELDS_NULL:
30937 case COMPATIBILITY_LEVEL:
30938 case ARITHABORT:
30939 case ANSI_WARNINGS:
30940 case ANSI_PADDING:
30941 case ANSI_NULLS:
30942 case ANSI_NULL_DEFAULT:
30943 enterOuterAlt(_localctx, 22);
30944 {
30945 setState(4334);
30946 sqlOption();
30947 }
30948 break;
30949 case TARGET_RECOVERY_TIME:
30950 enterOuterAlt(_localctx, 23);
30951 {
30952 setState(4335);
30953 targetRecoveryTimeOption();
30954 }
30955 break;
30956 case ROLLBACK:
30957 case NO_WAIT:
30958 enterOuterAlt(_localctx, 24);
30959 {
30960 setState(4336);
30961 termination();
30962 }
30963 break;
30964 case TEMPORAL_HISTORY_RETENTION:
30965 enterOuterAlt(_localctx, 25);
30966 {
30967 setState(4337);
30968 match(TEMPORAL_HISTORY_RETENTION);
30969 setState(4338);
30970 _la = _input.LA(1);
30971 if ( !(_la==ON || _la==OFF) ) {
30972 _errHandler.recoverInline(this);
30973 }
30974 else {
30975 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30976 _errHandler.reportMatch(this);
30977 consume();
30978 }
30979 }
30980 break;
30981 case DATA_RETENTION:
30982 enterOuterAlt(_localctx, 26);
30983 {
30984 setState(4339);
30985 match(DATA_RETENTION);
30986 setState(4340);
30987 _la = _input.LA(1);
30988 if ( !(_la==ON || _la==OFF) ) {
30989 _errHandler.recoverInline(this);
30990 }
30991 else {
30992 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
30993 _errHandler.reportMatch(this);
30994 consume();
30995 }
30996 }
30997 break;
30998 default:
30999 throw new NoViableAltException(this);
31000 }
31001 }
31002 catch (RecognitionException re) {
31003 _localctx.exception = re;
31004 _errHandler.reportError(this, re);
31005 _errHandler.recover(this, re);
31006 }
31007 finally {
31008 exitRule();
31009 }
31010 return _localctx;
31011 }
31012
31013 public static class FileAndFilegroupOptionsContext extends ParserRuleContext {
31014 public AddOrModifyFilesContext addOrModifyFiles() {
31015 return getRuleContext(AddOrModifyFilesContext.class,0);
31016 }
31017 public FileSpecContext fileSpec() {
31018 return getRuleContext(FileSpecContext.class,0);
31019 }
31020 public AddOrModifyFilegroupsContext addOrModifyFilegroups() {
31021 return getRuleContext(AddOrModifyFilegroupsContext.class,0);
31022 }
31023 public FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() {
31024 return getRuleContext(FilegroupUpdatabilityOptionContext.class,0);
31025 }
31026 public FileAndFilegroupOptionsContext(ParserRuleContext parent, int invokingState) {
31027 super(parent, invokingState);
31028 }
31029 @Override public int getRuleIndex() { return RULE_fileAndFilegroupOptions; }
31030 @Override
31031 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31032 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFileAndFilegroupOptions(this);
31033 else return visitor.visitChildren(this);
31034 }
31035 }
31036
31037 public final FileAndFilegroupOptionsContext fileAndFilegroupOptions() throws RecognitionException {
31038 FileAndFilegroupOptionsContext _localctx = new FileAndFilegroupOptionsContext(_ctx, getState());
31039 enterRule(_localctx, 600, RULE_fileAndFilegroupOptions);
31040 try {
31041 setState(4347);
31042 _errHandler.sync(this);
31043 switch ( getInterpreter().adaptivePredict(_input,462,_ctx) ) {
31044 case 1:
31045 enterOuterAlt(_localctx, 1);
31046 {
31047 setState(4343);
31048 addOrModifyFiles();
31049 }
31050 break;
31051 case 2:
31052 enterOuterAlt(_localctx, 2);
31053 {
31054 setState(4344);
31055 fileSpec();
31056 }
31057 break;
31058 case 3:
31059 enterOuterAlt(_localctx, 3);
31060 {
31061 setState(4345);
31062 addOrModifyFilegroups();
31063 }
31064 break;
31065 case 4:
31066 enterOuterAlt(_localctx, 4);
31067 {
31068 setState(4346);
31069 filegroupUpdatabilityOption();
31070 }
31071 break;
31072 }
31073 }
31074 catch (RecognitionException re) {
31075 _localctx.exception = re;
31076 _errHandler.reportError(this, re);
31077 _errHandler.recover(this, re);
31078 }
31079 finally {
31080 exitRule();
31081 }
31082 return _localctx;
31083 }
31084
31085 public static class AddOrModifyFilegroupsContext extends ParserRuleContext {
31086 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
31087 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
31088 public IgnoredIdentifierContext ignoredIdentifier() {
31089 return getRuleContext(IgnoredIdentifierContext.class,0);
31090 }
31091 public TerminalNode CONTAINS() { return getToken(SQLServerStatementParser.CONTAINS, 0); }
31092 public TerminalNode FILESTREAM() { return getToken(SQLServerStatementParser.FILESTREAM, 0); }
31093 public TerminalNode MEMORY_OPTIMIZED_DATA() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_DATA, 0); }
31094 public TerminalNode REMOVE() { return getToken(SQLServerStatementParser.REMOVE, 0); }
31095 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
31096 public FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() {
31097 return getRuleContext(FilegroupUpdatabilityOptionContext.class,0);
31098 }
31099 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
31100 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
31101 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31102 public TerminalNode AUTOGROW_SINGLE_FILE() { return getToken(SQLServerStatementParser.AUTOGROW_SINGLE_FILE, 0); }
31103 public TerminalNode AUTOGROW_ALL_FILES() { return getToken(SQLServerStatementParser.AUTOGROW_ALL_FILES, 0); }
31104 public AddOrModifyFilegroupsContext(ParserRuleContext parent, int invokingState) {
31105 super(parent, invokingState);
31106 }
31107 @Override public int getRuleIndex() { return RULE_addOrModifyFilegroups; }
31108 @Override
31109 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31110 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddOrModifyFilegroups(this);
31111 else return visitor.visitChildren(this);
31112 }
31113 }
31114
31115 public final AddOrModifyFilegroupsContext addOrModifyFilegroups() throws RecognitionException {
31116 AddOrModifyFilegroupsContext _localctx = new AddOrModifyFilegroupsContext(_ctx, getState());
31117 enterRule(_localctx, 602, RULE_addOrModifyFilegroups);
31118 int _la;
31119 try {
31120 setState(4371);
31121 _errHandler.sync(this);
31122 switch (_input.LA(1)) {
31123 case ADD:
31124 enterOuterAlt(_localctx, 1);
31125 {
31126 setState(4349);
31127 match(ADD);
31128 setState(4350);
31129 match(FILEGROUP);
31130 setState(4351);
31131 ignoredIdentifier();
31132 setState(4356);
31133 _errHandler.sync(this);
31134 switch ( getInterpreter().adaptivePredict(_input,463,_ctx) ) {
31135 case 1:
31136 {
31137 setState(4352);
31138 match(CONTAINS);
31139 setState(4353);
31140 match(FILESTREAM);
31141 }
31142 break;
31143 case 2:
31144 {
31145 setState(4354);
31146 match(CONTAINS);
31147 setState(4355);
31148 match(MEMORY_OPTIMIZED_DATA);
31149 }
31150 break;
31151 }
31152 }
31153 break;
31154 case REMOVE:
31155 enterOuterAlt(_localctx, 2);
31156 {
31157 setState(4358);
31158 match(REMOVE);
31159 setState(4359);
31160 match(FILEGROUP);
31161 setState(4360);
31162 ignoredIdentifier();
31163 }
31164 break;
31165 case MODIFY:
31166 enterOuterAlt(_localctx, 3);
31167 {
31168 setState(4361);
31169 match(MODIFY);
31170 setState(4362);
31171 match(FILEGROUP);
31172 setState(4363);
31173 ignoredIdentifier();
31174 setState(4364);
31175 filegroupUpdatabilityOption();
31176 }
31177 break;
31178 case DEFAULT:
31179 enterOuterAlt(_localctx, 4);
31180 {
31181 setState(4366);
31182 match(DEFAULT);
31183 }
31184 break;
31185 case NAME:
31186 enterOuterAlt(_localctx, 5);
31187 {
31188 setState(4367);
31189 match(NAME);
31190 setState(4368);
31191 match(EQ_);
31192 setState(4369);
31193 ignoredIdentifier();
31194 }
31195 break;
31196 case AUTOGROW_SINGLE_FILE:
31197 case AUTOGROW_ALL_FILES:
31198 enterOuterAlt(_localctx, 6);
31199 {
31200 setState(4370);
31201 _la = _input.LA(1);
31202 if ( !(_la==AUTOGROW_SINGLE_FILE || _la==AUTOGROW_ALL_FILES) ) {
31203 _errHandler.recoverInline(this);
31204 }
31205 else {
31206 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31207 _errHandler.reportMatch(this);
31208 consume();
31209 }
31210 }
31211 break;
31212 default:
31213 throw new NoViableAltException(this);
31214 }
31215 }
31216 catch (RecognitionException re) {
31217 _localctx.exception = re;
31218 _errHandler.reportError(this, re);
31219 _errHandler.recover(this, re);
31220 }
31221 finally {
31222 exitRule();
31223 }
31224 return _localctx;
31225 }
31226
31227 public static class FilegroupUpdatabilityOptionContext extends ParserRuleContext {
31228 public TerminalNode READONLY() { return getToken(SQLServerStatementParser.READONLY, 0); }
31229 public TerminalNode READWRITE() { return getToken(SQLServerStatementParser.READWRITE, 0); }
31230 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
31231 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
31232 public FilegroupUpdatabilityOptionContext(ParserRuleContext parent, int invokingState) {
31233 super(parent, invokingState);
31234 }
31235 @Override public int getRuleIndex() { return RULE_filegroupUpdatabilityOption; }
31236 @Override
31237 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31238 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFilegroupUpdatabilityOption(this);
31239 else return visitor.visitChildren(this);
31240 }
31241 }
31242
31243 public final FilegroupUpdatabilityOptionContext filegroupUpdatabilityOption() throws RecognitionException {
31244 FilegroupUpdatabilityOptionContext _localctx = new FilegroupUpdatabilityOptionContext(_ctx, getState());
31245 enterRule(_localctx, 604, RULE_filegroupUpdatabilityOption);
31246 int _la;
31247 try {
31248 setState(4375);
31249 _errHandler.sync(this);
31250 switch (_input.LA(1)) {
31251 case READONLY:
31252 case READWRITE:
31253 enterOuterAlt(_localctx, 1);
31254 {
31255 setState(4373);
31256 _la = _input.LA(1);
31257 if ( !(_la==READONLY || _la==READWRITE) ) {
31258 _errHandler.recoverInline(this);
31259 }
31260 else {
31261 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31262 _errHandler.reportMatch(this);
31263 consume();
31264 }
31265 }
31266 break;
31267 case READ_ONLY:
31268 case READ_WRITE:
31269 enterOuterAlt(_localctx, 2);
31270 {
31271 setState(4374);
31272 _la = _input.LA(1);
31273 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
31274 _errHandler.recoverInline(this);
31275 }
31276 else {
31277 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31278 _errHandler.reportMatch(this);
31279 consume();
31280 }
31281 }
31282 break;
31283 default:
31284 throw new NoViableAltException(this);
31285 }
31286 }
31287 catch (RecognitionException re) {
31288 _localctx.exception = re;
31289 _errHandler.reportError(this, re);
31290 _errHandler.recover(this, re);
31291 }
31292 finally {
31293 exitRule();
31294 }
31295 return _localctx;
31296 }
31297
31298 public static class AddOrModifyFilesContext extends ParserRuleContext {
31299 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
31300 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
31301 public List<FileSpecContext> fileSpec() {
31302 return getRuleContexts(FileSpecContext.class);
31303 }
31304 public FileSpecContext fileSpec(int i) {
31305 return getRuleContext(FileSpecContext.class,i);
31306 }
31307 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
31308 public TerminalNode COMMA_(int i) {
31309 return getToken(SQLServerStatementParser.COMMA_, i);
31310 }
31311 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
31312 public TerminalNode FILEGROUP() { return getToken(SQLServerStatementParser.FILEGROUP, 0); }
31313 public IgnoredIdentifierContext ignoredIdentifier() {
31314 return getRuleContext(IgnoredIdentifierContext.class,0);
31315 }
31316 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
31317 public TerminalNode REMOVE() { return getToken(SQLServerStatementParser.REMOVE, 0); }
31318 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
31319 public TerminalNode MODIFY() { return getToken(SQLServerStatementParser.MODIFY, 0); }
31320 public AddOrModifyFilesContext(ParserRuleContext parent, int invokingState) {
31321 super(parent, invokingState);
31322 }
31323 @Override public int getRuleIndex() { return RULE_addOrModifyFiles; }
31324 @Override
31325 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31326 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAddOrModifyFiles(this);
31327 else return visitor.visitChildren(this);
31328 }
31329 }
31330
31331 public final AddOrModifyFilesContext addOrModifyFiles() throws RecognitionException {
31332 AddOrModifyFilesContext _localctx = new AddOrModifyFilesContext(_ctx, getState());
31333 enterRule(_localctx, 606, RULE_addOrModifyFiles);
31334 int _la;
31335 try {
31336 setState(4409);
31337 _errHandler.sync(this);
31338 switch ( getInterpreter().adaptivePredict(_input,469,_ctx) ) {
31339 case 1:
31340 enterOuterAlt(_localctx, 1);
31341 {
31342 setState(4377);
31343 match(ADD);
31344 setState(4378);
31345 match(FILE);
31346 setState(4379);
31347 fileSpec();
31348 setState(4384);
31349 _errHandler.sync(this);
31350 _la = _input.LA(1);
31351 while (_la==COMMA_) {
31352 {
31353 {
31354 setState(4380);
31355 match(COMMA_);
31356 setState(4381);
31357 fileSpec();
31358 }
31359 }
31360 setState(4386);
31361 _errHandler.sync(this);
31362 _la = _input.LA(1);
31363 }
31364 setState(4390);
31365 _errHandler.sync(this);
31366 _la = _input.LA(1);
31367 if (_la==TO) {
31368 {
31369 setState(4387);
31370 match(TO);
31371 setState(4388);
31372 match(FILEGROUP);
31373 setState(4389);
31374 ignoredIdentifier();
31375 }
31376 }
31377
31378 }
31379 break;
31380 case 2:
31381 enterOuterAlt(_localctx, 2);
31382 {
31383 setState(4392);
31384 match(ADD);
31385 setState(4393);
31386 match(LOG);
31387 setState(4394);
31388 match(FILE);
31389 setState(4395);
31390 fileSpec();
31391 setState(4400);
31392 _errHandler.sync(this);
31393 _la = _input.LA(1);
31394 while (_la==COMMA_) {
31395 {
31396 {
31397 setState(4396);
31398 match(COMMA_);
31399 setState(4397);
31400 fileSpec();
31401 }
31402 }
31403 setState(4402);
31404 _errHandler.sync(this);
31405 _la = _input.LA(1);
31406 }
31407 }
31408 break;
31409 case 3:
31410 enterOuterAlt(_localctx, 3);
31411 {
31412 setState(4403);
31413 match(REMOVE);
31414 setState(4404);
31415 match(FILE);
31416 setState(4405);
31417 match(STRING_);
31418 }
31419 break;
31420 case 4:
31421 enterOuterAlt(_localctx, 4);
31422 {
31423 setState(4406);
31424 match(MODIFY);
31425 setState(4407);
31426 match(FILE);
31427 setState(4408);
31428 fileSpec();
31429 }
31430 break;
31431 }
31432 }
31433 catch (RecognitionException re) {
31434 _localctx.exception = re;
31435 _errHandler.reportError(this, re);
31436 _errHandler.recover(this, re);
31437 }
31438 finally {
31439 exitRule();
31440 }
31441 return _localctx;
31442 }
31443
31444 public static class AcceleratedDatabaseRecoveryContext extends ParserRuleContext {
31445 public TerminalNode ACCELERATED_DATABASE_RECOVERY() { return getToken(SQLServerStatementParser.ACCELERATED_DATABASE_RECOVERY, 0); }
31446 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
31447 public TerminalNode EQ_(int i) {
31448 return getToken(SQLServerStatementParser.EQ_, i);
31449 }
31450 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31451 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31452 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
31453 public TerminalNode PERSISTENT_VERSION_STORE_FILEGROUP() { return getToken(SQLServerStatementParser.PERSISTENT_VERSION_STORE_FILEGROUP, 0); }
31454 public IgnoredIdentifierContext ignoredIdentifier() {
31455 return getRuleContext(IgnoredIdentifierContext.class,0);
31456 }
31457 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
31458 public AcceleratedDatabaseRecoveryContext(ParserRuleContext parent, int invokingState) {
31459 super(parent, invokingState);
31460 }
31461 @Override public int getRuleIndex() { return RULE_acceleratedDatabaseRecovery; }
31462 @Override
31463 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31464 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAcceleratedDatabaseRecovery(this);
31465 else return visitor.visitChildren(this);
31466 }
31467 }
31468
31469 public final AcceleratedDatabaseRecoveryContext acceleratedDatabaseRecovery() throws RecognitionException {
31470 AcceleratedDatabaseRecoveryContext _localctx = new AcceleratedDatabaseRecoveryContext(_ctx, getState());
31471 enterRule(_localctx, 608, RULE_acceleratedDatabaseRecovery);
31472 int _la;
31473 try {
31474 enterOuterAlt(_localctx, 1);
31475 {
31476 setState(4411);
31477 match(ACCELERATED_DATABASE_RECOVERY);
31478 setState(4412);
31479 match(EQ_);
31480 setState(4413);
31481 _la = _input.LA(1);
31482 if ( !(_la==ON || _la==OFF) ) {
31483 _errHandler.recoverInline(this);
31484 }
31485 else {
31486 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31487 _errHandler.reportMatch(this);
31488 consume();
31489 }
31490 setState(4420);
31491 _errHandler.sync(this);
31492 switch ( getInterpreter().adaptivePredict(_input,470,_ctx) ) {
31493 case 1:
31494 {
31495 setState(4414);
31496 match(LP_);
31497 setState(4415);
31498 match(PERSISTENT_VERSION_STORE_FILEGROUP);
31499 setState(4416);
31500 match(EQ_);
31501 setState(4417);
31502 ignoredIdentifier();
31503 setState(4418);
31504 match(RP_);
31505 }
31506 break;
31507 }
31508 }
31509 }
31510 catch (RecognitionException re) {
31511 _localctx.exception = re;
31512 _errHandler.reportError(this, re);
31513 _errHandler.recover(this, re);
31514 }
31515 finally {
31516 exitRule();
31517 }
31518 return _localctx;
31519 }
31520
31521 public static class AutoOptionContext extends ParserRuleContext {
31522 public TerminalNode AUTO_CLOSE() { return getToken(SQLServerStatementParser.AUTO_CLOSE, 0); }
31523 public List<TerminalNode> ON() { return getTokens(SQLServerStatementParser.ON); }
31524 public TerminalNode ON(int i) {
31525 return getToken(SQLServerStatementParser.ON, i);
31526 }
31527 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31528 public TerminalNode AUTO_CREATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_CREATE_STATISTICS, 0); }
31529 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
31530 public TerminalNode INCREMENTAL() { return getToken(SQLServerStatementParser.INCREMENTAL, 0); }
31531 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31532 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
31533 public TerminalNode AUTO_SHRINK() { return getToken(SQLServerStatementParser.AUTO_SHRINK, 0); }
31534 public TerminalNode AUTO_UPDATE_STATISTICS() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS, 0); }
31535 public TerminalNode AUTO_UPDATE_STATISTICS_ASYNC() { return getToken(SQLServerStatementParser.AUTO_UPDATE_STATISTICS_ASYNC, 0); }
31536 public AutoOptionContext(ParserRuleContext parent, int invokingState) {
31537 super(parent, invokingState);
31538 }
31539 @Override public int getRuleIndex() { return RULE_autoOption; }
31540 @Override
31541 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31542 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAutoOption(this);
31543 else return visitor.visitChildren(this);
31544 }
31545 }
31546
31547 public final AutoOptionContext autoOption() throws RecognitionException {
31548 AutoOptionContext _localctx = new AutoOptionContext(_ctx, getState());
31549 enterRule(_localctx, 610, RULE_autoOption);
31550 int _la;
31551 try {
31552 setState(4442);
31553 _errHandler.sync(this);
31554 switch (_input.LA(1)) {
31555 case AUTO_CLOSE:
31556 enterOuterAlt(_localctx, 1);
31557 {
31558 setState(4422);
31559 match(AUTO_CLOSE);
31560 setState(4423);
31561 _la = _input.LA(1);
31562 if ( !(_la==ON || _la==OFF) ) {
31563 _errHandler.recoverInline(this);
31564 }
31565 else {
31566 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31567 _errHandler.reportMatch(this);
31568 consume();
31569 }
31570 }
31571 break;
31572 case AUTO_CREATE_STATISTICS:
31573 enterOuterAlt(_localctx, 2);
31574 {
31575 setState(4424);
31576 match(AUTO_CREATE_STATISTICS);
31577 setState(4434);
31578 _errHandler.sync(this);
31579 switch (_input.LA(1)) {
31580 case OFF:
31581 {
31582 setState(4425);
31583 match(OFF);
31584 }
31585 break;
31586 case ON:
31587 {
31588 setState(4426);
31589 match(ON);
31590 setState(4432);
31591 _errHandler.sync(this);
31592 switch ( getInterpreter().adaptivePredict(_input,471,_ctx) ) {
31593 case 1:
31594 {
31595 setState(4427);
31596 match(LP_);
31597 setState(4428);
31598 match(INCREMENTAL);
31599 setState(4429);
31600 match(EQ_);
31601 setState(4430);
31602 _la = _input.LA(1);
31603 if ( !(_la==ON || _la==OFF) ) {
31604 _errHandler.recoverInline(this);
31605 }
31606 else {
31607 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31608 _errHandler.reportMatch(this);
31609 consume();
31610 }
31611 setState(4431);
31612 match(RP_);
31613 }
31614 break;
31615 }
31616 }
31617 break;
31618 default:
31619 throw new NoViableAltException(this);
31620 }
31621 }
31622 break;
31623 case AUTO_SHRINK:
31624 enterOuterAlt(_localctx, 3);
31625 {
31626 setState(4436);
31627 match(AUTO_SHRINK);
31628 setState(4437);
31629 _la = _input.LA(1);
31630 if ( !(_la==ON || _la==OFF) ) {
31631 _errHandler.recoverInline(this);
31632 }
31633 else {
31634 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31635 _errHandler.reportMatch(this);
31636 consume();
31637 }
31638 }
31639 break;
31640 case AUTO_UPDATE_STATISTICS:
31641 enterOuterAlt(_localctx, 4);
31642 {
31643 setState(4438);
31644 match(AUTO_UPDATE_STATISTICS);
31645 setState(4439);
31646 _la = _input.LA(1);
31647 if ( !(_la==ON || _la==OFF) ) {
31648 _errHandler.recoverInline(this);
31649 }
31650 else {
31651 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31652 _errHandler.reportMatch(this);
31653 consume();
31654 }
31655 }
31656 break;
31657 case AUTO_UPDATE_STATISTICS_ASYNC:
31658 enterOuterAlt(_localctx, 5);
31659 {
31660 setState(4440);
31661 match(AUTO_UPDATE_STATISTICS_ASYNC);
31662 setState(4441);
31663 _la = _input.LA(1);
31664 if ( !(_la==ON || _la==OFF) ) {
31665 _errHandler.recoverInline(this);
31666 }
31667 else {
31668 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31669 _errHandler.reportMatch(this);
31670 consume();
31671 }
31672 }
31673 break;
31674 default:
31675 throw new NoViableAltException(this);
31676 }
31677 }
31678 catch (RecognitionException re) {
31679 _localctx.exception = re;
31680 _errHandler.reportError(this, re);
31681 _errHandler.recover(this, re);
31682 }
31683 finally {
31684 exitRule();
31685 }
31686 return _localctx;
31687 }
31688
31689 public static class AutomaticTuningOptionContext extends ParserRuleContext {
31690 public TerminalNode AUTOMATIC_TUNING() { return getToken(SQLServerStatementParser.AUTOMATIC_TUNING, 0); }
31691 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
31692 public TerminalNode FORCE_LAST_GOOD_PLAN() { return getToken(SQLServerStatementParser.FORCE_LAST_GOOD_PLAN, 0); }
31693 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31694 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
31695 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31696 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31697 public AutomaticTuningOptionContext(ParserRuleContext parent, int invokingState) {
31698 super(parent, invokingState);
31699 }
31700 @Override public int getRuleIndex() { return RULE_automaticTuningOption; }
31701 @Override
31702 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31703 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAutomaticTuningOption(this);
31704 else return visitor.visitChildren(this);
31705 }
31706 }
31707
31708 public final AutomaticTuningOptionContext automaticTuningOption() throws RecognitionException {
31709 AutomaticTuningOptionContext _localctx = new AutomaticTuningOptionContext(_ctx, getState());
31710 enterRule(_localctx, 612, RULE_automaticTuningOption);
31711 int _la;
31712 try {
31713 enterOuterAlt(_localctx, 1);
31714 {
31715 setState(4444);
31716 match(AUTOMATIC_TUNING);
31717 setState(4445);
31718 match(LP_);
31719 setState(4446);
31720 match(FORCE_LAST_GOOD_PLAN);
31721 setState(4447);
31722 match(EQ_);
31723 setState(4448);
31724 _la = _input.LA(1);
31725 if ( !(_la==ON || _la==OFF) ) {
31726 _errHandler.recoverInline(this);
31727 }
31728 else {
31729 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31730 _errHandler.reportMatch(this);
31731 consume();
31732 }
31733 setState(4449);
31734 match(RP_);
31735 }
31736 }
31737 catch (RecognitionException re) {
31738 _localctx.exception = re;
31739 _errHandler.reportError(this, re);
31740 _errHandler.recover(this, re);
31741 }
31742 finally {
31743 exitRule();
31744 }
31745 return _localctx;
31746 }
31747
31748 public static class ChangeTrackingOptionContext extends ParserRuleContext {
31749 public TerminalNode CHANGE_TRACKING() { return getToken(SQLServerStatementParser.CHANGE_TRACKING, 0); }
31750 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31751 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31752 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31753 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
31754 public List<ChangeTrackingOptionListContext> changeTrackingOptionList() {
31755 return getRuleContexts(ChangeTrackingOptionListContext.class);
31756 }
31757 public ChangeTrackingOptionListContext changeTrackingOptionList(int i) {
31758 return getRuleContext(ChangeTrackingOptionListContext.class,i);
31759 }
31760 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
31761 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
31762 public TerminalNode COMMA_(int i) {
31763 return getToken(SQLServerStatementParser.COMMA_, i);
31764 }
31765 public ChangeTrackingOptionContext(ParserRuleContext parent, int invokingState) {
31766 super(parent, invokingState);
31767 }
31768 @Override public int getRuleIndex() { return RULE_changeTrackingOption; }
31769 @Override
31770 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31771 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitChangeTrackingOption(this);
31772 else return visitor.visitChildren(this);
31773 }
31774 }
31775
31776 public final ChangeTrackingOptionContext changeTrackingOption() throws RecognitionException {
31777 ChangeTrackingOptionContext _localctx = new ChangeTrackingOptionContext(_ctx, getState());
31778 enterRule(_localctx, 614, RULE_changeTrackingOption);
31779 int _la;
31780 try {
31781 enterOuterAlt(_localctx, 1);
31782 {
31783 setState(4451);
31784 match(CHANGE_TRACKING);
31785 setState(4471);
31786 _errHandler.sync(this);
31787 switch ( getInterpreter().adaptivePredict(_input,477,_ctx) ) {
31788 case 1:
31789 {
31790 setState(4452);
31791 match(EQ_);
31792 setState(4453);
31793 match(OFF);
31794 }
31795 break;
31796 case 2:
31797 {
31798 setState(4456);
31799 _errHandler.sync(this);
31800 _la = _input.LA(1);
31801 if (_la==EQ_) {
31802 {
31803 setState(4454);
31804 match(EQ_);
31805 setState(4455);
31806 match(ON);
31807 }
31808 }
31809
31810 setState(4469);
31811 _errHandler.sync(this);
31812 switch ( getInterpreter().adaptivePredict(_input,476,_ctx) ) {
31813 case 1:
31814 {
31815 setState(4458);
31816 match(LP_);
31817 setState(4459);
31818 changeTrackingOptionList();
31819 setState(4464);
31820 _errHandler.sync(this);
31821 _la = _input.LA(1);
31822 while (_la==COMMA_) {
31823 {
31824 {
31825 setState(4460);
31826 match(COMMA_);
31827 setState(4461);
31828 changeTrackingOptionList();
31829 }
31830 }
31831 setState(4466);
31832 _errHandler.sync(this);
31833 _la = _input.LA(1);
31834 }
31835 setState(4467);
31836 match(RP_);
31837 }
31838 break;
31839 }
31840 }
31841 break;
31842 }
31843 }
31844 }
31845 catch (RecognitionException re) {
31846 _localctx.exception = re;
31847 _errHandler.reportError(this, re);
31848 _errHandler.recover(this, re);
31849 }
31850 finally {
31851 exitRule();
31852 }
31853 return _localctx;
31854 }
31855
31856 public static class ChangeTrackingOptionListContext extends ParserRuleContext {
31857 public TerminalNode AUTO_CLEANUP() { return getToken(SQLServerStatementParser.AUTO_CLEANUP, 0); }
31858 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
31859 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31860 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31861 public TerminalNode CHANGE_RETENTION() { return getToken(SQLServerStatementParser.CHANGE_RETENTION, 0); }
31862 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
31863 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
31864 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
31865 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
31866 public ChangeTrackingOptionListContext(ParserRuleContext parent, int invokingState) {
31867 super(parent, invokingState);
31868 }
31869 @Override public int getRuleIndex() { return RULE_changeTrackingOptionList; }
31870 @Override
31871 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31872 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitChangeTrackingOptionList(this);
31873 else return visitor.visitChildren(this);
31874 }
31875 }
31876
31877 public final ChangeTrackingOptionListContext changeTrackingOptionList() throws RecognitionException {
31878 ChangeTrackingOptionListContext _localctx = new ChangeTrackingOptionListContext(_ctx, getState());
31879 enterRule(_localctx, 616, RULE_changeTrackingOptionList);
31880 int _la;
31881 try {
31882 setState(4480);
31883 _errHandler.sync(this);
31884 switch (_input.LA(1)) {
31885 case AUTO_CLEANUP:
31886 enterOuterAlt(_localctx, 1);
31887 {
31888 setState(4473);
31889 match(AUTO_CLEANUP);
31890 setState(4474);
31891 match(EQ_);
31892 setState(4475);
31893 _la = _input.LA(1);
31894 if ( !(_la==ON || _la==OFF) ) {
31895 _errHandler.recoverInline(this);
31896 }
31897 else {
31898 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31899 _errHandler.reportMatch(this);
31900 consume();
31901 }
31902 }
31903 break;
31904 case CHANGE_RETENTION:
31905 enterOuterAlt(_localctx, 2);
31906 {
31907 setState(4476);
31908 match(CHANGE_RETENTION);
31909 setState(4477);
31910 match(EQ_);
31911 setState(4478);
31912 match(NUMBER_);
31913 setState(4479);
31914 _la = _input.LA(1);
31915 if ( !(_la==DAYS || _la==MINUTES || _la==HOURS) ) {
31916 _errHandler.recoverInline(this);
31917 }
31918 else {
31919 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31920 _errHandler.reportMatch(this);
31921 consume();
31922 }
31923 }
31924 break;
31925 default:
31926 throw new NoViableAltException(this);
31927 }
31928 }
31929 catch (RecognitionException re) {
31930 _localctx.exception = re;
31931 _errHandler.reportError(this, re);
31932 _errHandler.recover(this, re);
31933 }
31934 finally {
31935 exitRule();
31936 }
31937 return _localctx;
31938 }
31939
31940 public static class CursorOptionContext extends ParserRuleContext {
31941 public TerminalNode CURSOR_CLOSE_ON_COMMIT() { return getToken(SQLServerStatementParser.CURSOR_CLOSE_ON_COMMIT, 0); }
31942 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
31943 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
31944 public TerminalNode CURSOR_DEFAULT() { return getToken(SQLServerStatementParser.CURSOR_DEFAULT, 0); }
31945 public TerminalNode LOCAL() { return getToken(SQLServerStatementParser.LOCAL, 0); }
31946 public TerminalNode GLOBAL() { return getToken(SQLServerStatementParser.GLOBAL, 0); }
31947 public CursorOptionContext(ParserRuleContext parent, int invokingState) {
31948 super(parent, invokingState);
31949 }
31950 @Override public int getRuleIndex() { return RULE_cursorOption; }
31951 @Override
31952 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
31953 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCursorOption(this);
31954 else return visitor.visitChildren(this);
31955 }
31956 }
31957
31958 public final CursorOptionContext cursorOption() throws RecognitionException {
31959 CursorOptionContext _localctx = new CursorOptionContext(_ctx, getState());
31960 enterRule(_localctx, 618, RULE_cursorOption);
31961 int _la;
31962 try {
31963 setState(4486);
31964 _errHandler.sync(this);
31965 switch (_input.LA(1)) {
31966 case CURSOR_CLOSE_ON_COMMIT:
31967 enterOuterAlt(_localctx, 1);
31968 {
31969 setState(4482);
31970 match(CURSOR_CLOSE_ON_COMMIT);
31971 setState(4483);
31972 _la = _input.LA(1);
31973 if ( !(_la==ON || _la==OFF) ) {
31974 _errHandler.recoverInline(this);
31975 }
31976 else {
31977 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31978 _errHandler.reportMatch(this);
31979 consume();
31980 }
31981 }
31982 break;
31983 case CURSOR_DEFAULT:
31984 enterOuterAlt(_localctx, 2);
31985 {
31986 setState(4484);
31987 match(CURSOR_DEFAULT);
31988 setState(4485);
31989 _la = _input.LA(1);
31990 if ( !(_la==LOCAL || _la==GLOBAL) ) {
31991 _errHandler.recoverInline(this);
31992 }
31993 else {
31994 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
31995 _errHandler.reportMatch(this);
31996 consume();
31997 }
31998 }
31999 break;
32000 default:
32001 throw new NoViableAltException(this);
32002 }
32003 }
32004 catch (RecognitionException re) {
32005 _localctx.exception = re;
32006 _errHandler.reportError(this, re);
32007 _errHandler.recover(this, re);
32008 }
32009 finally {
32010 exitRule();
32011 }
32012 return _localctx;
32013 }
32014
32015 public static class ExternalAccessOptionContext extends ParserRuleContext {
32016 public TerminalNode DB_CHAINING() { return getToken(SQLServerStatementParser.DB_CHAINING, 0); }
32017 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32018 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32019 public TerminalNode TRUSTWORTHY() { return getToken(SQLServerStatementParser.TRUSTWORTHY, 0); }
32020 public TerminalNode DEFAULT_FULLTEXT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_FULLTEXT_LANGUAGE, 0); }
32021 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32022 public TerminalNode STRING_() { return getToken(SQLServerStatementParser.STRING_, 0); }
32023 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
32024 public TerminalNode NESTED_TRIGGERS() { return getToken(SQLServerStatementParser.NESTED_TRIGGERS, 0); }
32025 public TerminalNode TRANSFORM_NOISE_WORDS() { return getToken(SQLServerStatementParser.TRANSFORM_NOISE_WORDS, 0); }
32026 public TerminalNode TWO_DIGIT_YEAR_CUTOFF() { return getToken(SQLServerStatementParser.TWO_DIGIT_YEAR_CUTOFF, 0); }
32027 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
32028 public ExternalAccessOptionContext(ParserRuleContext parent, int invokingState) {
32029 super(parent, invokingState);
32030 }
32031 @Override public int getRuleIndex() { return RULE_externalAccessOption; }
32032 @Override
32033 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32034 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitExternalAccessOption(this);
32035 else return visitor.visitChildren(this);
32036 }
32037 }
32038
32039 public final ExternalAccessOptionContext externalAccessOption() throws RecognitionException {
32040 ExternalAccessOptionContext _localctx = new ExternalAccessOptionContext(_ctx, getState());
32041 enterRule(_localctx, 620, RULE_externalAccessOption);
32042 int _la;
32043 try {
32044 setState(4507);
32045 _errHandler.sync(this);
32046 switch (_input.LA(1)) {
32047 case DB_CHAINING:
32048 enterOuterAlt(_localctx, 1);
32049 {
32050 setState(4488);
32051 match(DB_CHAINING);
32052 setState(4489);
32053 _la = _input.LA(1);
32054 if ( !(_la==ON || _la==OFF) ) {
32055 _errHandler.recoverInline(this);
32056 }
32057 else {
32058 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32059 _errHandler.reportMatch(this);
32060 consume();
32061 }
32062 }
32063 break;
32064 case TRUSTWORTHY:
32065 enterOuterAlt(_localctx, 2);
32066 {
32067 setState(4490);
32068 match(TRUSTWORTHY);
32069 setState(4491);
32070 _la = _input.LA(1);
32071 if ( !(_la==ON || _la==OFF) ) {
32072 _errHandler.recoverInline(this);
32073 }
32074 else {
32075 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32076 _errHandler.reportMatch(this);
32077 consume();
32078 }
32079 }
32080 break;
32081 case DEFAULT_FULLTEXT_LANGUAGE:
32082 enterOuterAlt(_localctx, 3);
32083 {
32084 setState(4492);
32085 match(DEFAULT_FULLTEXT_LANGUAGE);
32086 setState(4493);
32087 match(EQ_);
32088 setState(4494);
32089 match(STRING_);
32090 }
32091 break;
32092 case DEFAULT_LANGUAGE:
32093 enterOuterAlt(_localctx, 4);
32094 {
32095 setState(4495);
32096 match(DEFAULT_LANGUAGE);
32097 setState(4496);
32098 match(EQ_);
32099 setState(4497);
32100 match(STRING_);
32101 }
32102 break;
32103 case NESTED_TRIGGERS:
32104 enterOuterAlt(_localctx, 5);
32105 {
32106 setState(4498);
32107 match(NESTED_TRIGGERS);
32108 setState(4499);
32109 match(EQ_);
32110 setState(4500);
32111 _la = _input.LA(1);
32112 if ( !(_la==ON || _la==OFF) ) {
32113 _errHandler.recoverInline(this);
32114 }
32115 else {
32116 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32117 _errHandler.reportMatch(this);
32118 consume();
32119 }
32120 }
32121 break;
32122 case TRANSFORM_NOISE_WORDS:
32123 enterOuterAlt(_localctx, 6);
32124 {
32125 setState(4501);
32126 match(TRANSFORM_NOISE_WORDS);
32127 setState(4502);
32128 match(EQ_);
32129 setState(4503);
32130 _la = _input.LA(1);
32131 if ( !(_la==ON || _la==OFF) ) {
32132 _errHandler.recoverInline(this);
32133 }
32134 else {
32135 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32136 _errHandler.reportMatch(this);
32137 consume();
32138 }
32139 }
32140 break;
32141 case TWO_DIGIT_YEAR_CUTOFF:
32142 enterOuterAlt(_localctx, 7);
32143 {
32144 setState(4504);
32145 match(TWO_DIGIT_YEAR_CUTOFF);
32146 setState(4505);
32147 match(EQ_);
32148 setState(4506);
32149 match(NUMBER_);
32150 }
32151 break;
32152 default:
32153 throw new NoViableAltException(this);
32154 }
32155 }
32156 catch (RecognitionException re) {
32157 _localctx.exception = re;
32158 _errHandler.reportError(this, re);
32159 _errHandler.recover(this, re);
32160 }
32161 finally {
32162 exitRule();
32163 }
32164 return _localctx;
32165 }
32166
32167 public static class QueryStoreOptionsContext extends ParserRuleContext {
32168 public TerminalNode QUERY_STORE() { return getToken(SQLServerStatementParser.QUERY_STORE, 0); }
32169 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32170 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32171 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32172 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32173 public List<QueryStoreOptionListContext> queryStoreOptionList() {
32174 return getRuleContexts(QueryStoreOptionListContext.class);
32175 }
32176 public QueryStoreOptionListContext queryStoreOptionList(int i) {
32177 return getRuleContext(QueryStoreOptionListContext.class,i);
32178 }
32179 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32180 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
32181 public TerminalNode COMMA_(int i) {
32182 return getToken(SQLServerStatementParser.COMMA_, i);
32183 }
32184 public QueryStoreOptionsContext(ParserRuleContext parent, int invokingState) {
32185 super(parent, invokingState);
32186 }
32187 @Override public int getRuleIndex() { return RULE_queryStoreOptions; }
32188 @Override
32189 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32190 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryStoreOptions(this);
32191 else return visitor.visitChildren(this);
32192 }
32193 }
32194
32195 public final QueryStoreOptionsContext queryStoreOptions() throws RecognitionException {
32196 QueryStoreOptionsContext _localctx = new QueryStoreOptionsContext(_ctx, getState());
32197 enterRule(_localctx, 622, RULE_queryStoreOptions);
32198 int _la;
32199 try {
32200 enterOuterAlt(_localctx, 1);
32201 {
32202 setState(4509);
32203 match(QUERY_STORE);
32204 setState(4529);
32205 _errHandler.sync(this);
32206 switch ( getInterpreter().adaptivePredict(_input,484,_ctx) ) {
32207 case 1:
32208 {
32209 setState(4510);
32210 match(EQ_);
32211 setState(4511);
32212 match(OFF);
32213 }
32214 break;
32215 case 2:
32216 {
32217 setState(4514);
32218 _errHandler.sync(this);
32219 _la = _input.LA(1);
32220 if (_la==EQ_) {
32221 {
32222 setState(4512);
32223 match(EQ_);
32224 setState(4513);
32225 match(ON);
32226 }
32227 }
32228
32229 setState(4527);
32230 _errHandler.sync(this);
32231 switch ( getInterpreter().adaptivePredict(_input,483,_ctx) ) {
32232 case 1:
32233 {
32234 setState(4516);
32235 match(LP_);
32236 setState(4517);
32237 queryStoreOptionList();
32238 setState(4522);
32239 _errHandler.sync(this);
32240 _la = _input.LA(1);
32241 while (_la==COMMA_) {
32242 {
32243 {
32244 setState(4518);
32245 match(COMMA_);
32246 setState(4519);
32247 queryStoreOptionList();
32248 }
32249 }
32250 setState(4524);
32251 _errHandler.sync(this);
32252 _la = _input.LA(1);
32253 }
32254 setState(4525);
32255 match(RP_);
32256 }
32257 break;
32258 }
32259 }
32260 break;
32261 }
32262 }
32263 }
32264 catch (RecognitionException re) {
32265 _localctx.exception = re;
32266 _errHandler.reportError(this, re);
32267 _errHandler.recover(this, re);
32268 }
32269 finally {
32270 exitRule();
32271 }
32272 return _localctx;
32273 }
32274
32275 public static class QueryStoreOptionListContext extends ParserRuleContext {
32276 public TerminalNode OPERATION_MODE() { return getToken(SQLServerStatementParser.OPERATION_MODE, 0); }
32277 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
32278 public TerminalNode EQ_(int i) {
32279 return getToken(SQLServerStatementParser.EQ_, i);
32280 }
32281 public TerminalNode READ_WRITE() { return getToken(SQLServerStatementParser.READ_WRITE, 0); }
32282 public TerminalNode READ_ONLY() { return getToken(SQLServerStatementParser.READ_ONLY, 0); }
32283 public TerminalNode CLEANUP_POLICY() { return getToken(SQLServerStatementParser.CLEANUP_POLICY, 0); }
32284 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
32285 public TerminalNode STALE_QUERY_THRESHOLD_DAYS() { return getToken(SQLServerStatementParser.STALE_QUERY_THRESHOLD_DAYS, 0); }
32286 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
32287 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
32288 public TerminalNode DATA_FLUSH_INTERVAL_SECONDS() { return getToken(SQLServerStatementParser.DATA_FLUSH_INTERVAL_SECONDS, 0); }
32289 public TerminalNode MAX_STORAGE_SIZE_MB() { return getToken(SQLServerStatementParser.MAX_STORAGE_SIZE_MB, 0); }
32290 public TerminalNode INTERVAL_LENGTH_MINUTES() { return getToken(SQLServerStatementParser.INTERVAL_LENGTH_MINUTES, 0); }
32291 public TerminalNode SIZE_BASED_CLEANUP_MODE() { return getToken(SQLServerStatementParser.SIZE_BASED_CLEANUP_MODE, 0); }
32292 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
32293 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32294 public TerminalNode QUERY_CAPTURE_MODE() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_MODE, 0); }
32295 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
32296 public TerminalNode CUSTOM() { return getToken(SQLServerStatementParser.CUSTOM, 0); }
32297 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
32298 public TerminalNode MAX_PLANS_PER_QUERY() { return getToken(SQLServerStatementParser.MAX_PLANS_PER_QUERY, 0); }
32299 public TerminalNode WAIT_STATS_CAPTURE_MODE() { return getToken(SQLServerStatementParser.WAIT_STATS_CAPTURE_MODE, 0); }
32300 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32301 public TerminalNode QUERY_CAPTURE_POLICY() { return getToken(SQLServerStatementParser.QUERY_CAPTURE_POLICY, 0); }
32302 public List<QueryCapturePolicyOptionListContext> queryCapturePolicyOptionList() {
32303 return getRuleContexts(QueryCapturePolicyOptionListContext.class);
32304 }
32305 public QueryCapturePolicyOptionListContext queryCapturePolicyOptionList(int i) {
32306 return getRuleContext(QueryCapturePolicyOptionListContext.class,i);
32307 }
32308 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
32309 public TerminalNode COMMA_(int i) {
32310 return getToken(SQLServerStatementParser.COMMA_, i);
32311 }
32312 public QueryStoreOptionListContext(ParserRuleContext parent, int invokingState) {
32313 super(parent, invokingState);
32314 }
32315 @Override public int getRuleIndex() { return RULE_queryStoreOptionList; }
32316 @Override
32317 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32318 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryStoreOptionList(this);
32319 else return visitor.visitChildren(this);
32320 }
32321 }
32322
32323 public final QueryStoreOptionListContext queryStoreOptionList() throws RecognitionException {
32324 QueryStoreOptionListContext _localctx = new QueryStoreOptionListContext(_ctx, getState());
32325 enterRule(_localctx, 624, RULE_queryStoreOptionList);
32326 int _la;
32327 try {
32328 setState(4575);
32329 _errHandler.sync(this);
32330 switch (_input.LA(1)) {
32331 case OPERATION_MODE:
32332 enterOuterAlt(_localctx, 1);
32333 {
32334 setState(4531);
32335 match(OPERATION_MODE);
32336 setState(4532);
32337 match(EQ_);
32338 setState(4533);
32339 _la = _input.LA(1);
32340 if ( !(_la==READ_ONLY || _la==READ_WRITE) ) {
32341 _errHandler.recoverInline(this);
32342 }
32343 else {
32344 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32345 _errHandler.reportMatch(this);
32346 consume();
32347 }
32348 }
32349 break;
32350 case CLEANUP_POLICY:
32351 enterOuterAlt(_localctx, 2);
32352 {
32353 setState(4534);
32354 match(CLEANUP_POLICY);
32355 setState(4535);
32356 match(EQ_);
32357 setState(4536);
32358 match(LP_);
32359 setState(4537);
32360 match(STALE_QUERY_THRESHOLD_DAYS);
32361 setState(4538);
32362 match(EQ_);
32363 setState(4539);
32364 match(NUMBER_);
32365 setState(4540);
32366 match(RP_);
32367 }
32368 break;
32369 case DATA_FLUSH_INTERVAL_SECONDS:
32370 enterOuterAlt(_localctx, 3);
32371 {
32372 setState(4541);
32373 match(DATA_FLUSH_INTERVAL_SECONDS);
32374 setState(4542);
32375 match(EQ_);
32376 setState(4543);
32377 match(NUMBER_);
32378 }
32379 break;
32380 case MAX_STORAGE_SIZE_MB:
32381 enterOuterAlt(_localctx, 4);
32382 {
32383 setState(4544);
32384 match(MAX_STORAGE_SIZE_MB);
32385 setState(4545);
32386 match(EQ_);
32387 setState(4546);
32388 match(NUMBER_);
32389 }
32390 break;
32391 case INTERVAL_LENGTH_MINUTES:
32392 enterOuterAlt(_localctx, 5);
32393 {
32394 setState(4547);
32395 match(INTERVAL_LENGTH_MINUTES);
32396 setState(4548);
32397 match(EQ_);
32398 setState(4549);
32399 match(NUMBER_);
32400 }
32401 break;
32402 case SIZE_BASED_CLEANUP_MODE:
32403 enterOuterAlt(_localctx, 6);
32404 {
32405 setState(4550);
32406 match(SIZE_BASED_CLEANUP_MODE);
32407 setState(4551);
32408 match(EQ_);
32409 setState(4552);
32410 _la = _input.LA(1);
32411 if ( !(_la==AUTO || _la==OFF) ) {
32412 _errHandler.recoverInline(this);
32413 }
32414 else {
32415 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32416 _errHandler.reportMatch(this);
32417 consume();
32418 }
32419 }
32420 break;
32421 case QUERY_CAPTURE_MODE:
32422 enterOuterAlt(_localctx, 7);
32423 {
32424 setState(4553);
32425 match(QUERY_CAPTURE_MODE);
32426 setState(4554);
32427 match(EQ_);
32428 setState(4555);
32429 _la = _input.LA(1);
32430 if ( !(_la==ALL || _la==AUTO || _la==NONE || _la==CUSTOM) ) {
32431 _errHandler.recoverInline(this);
32432 }
32433 else {
32434 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32435 _errHandler.reportMatch(this);
32436 consume();
32437 }
32438 }
32439 break;
32440 case MAX_PLANS_PER_QUERY:
32441 enterOuterAlt(_localctx, 8);
32442 {
32443 setState(4556);
32444 match(MAX_PLANS_PER_QUERY);
32445 setState(4557);
32446 match(EQ_);
32447 setState(4558);
32448 match(NUMBER_);
32449 }
32450 break;
32451 case WAIT_STATS_CAPTURE_MODE:
32452 enterOuterAlt(_localctx, 9);
32453 {
32454 setState(4559);
32455 match(WAIT_STATS_CAPTURE_MODE);
32456 setState(4560);
32457 match(EQ_);
32458 setState(4561);
32459 _la = _input.LA(1);
32460 if ( !(_la==ON || _la==OFF) ) {
32461 _errHandler.recoverInline(this);
32462 }
32463 else {
32464 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32465 _errHandler.reportMatch(this);
32466 consume();
32467 }
32468 }
32469 break;
32470 case QUERY_CAPTURE_POLICY:
32471 enterOuterAlt(_localctx, 10);
32472 {
32473 setState(4562);
32474 match(QUERY_CAPTURE_POLICY);
32475 setState(4563);
32476 match(EQ_);
32477 setState(4564);
32478 match(LP_);
32479 setState(4565);
32480 queryCapturePolicyOptionList();
32481 setState(4570);
32482 _errHandler.sync(this);
32483 _la = _input.LA(1);
32484 while (_la==COMMA_) {
32485 {
32486 {
32487 setState(4566);
32488 match(COMMA_);
32489 setState(4567);
32490 queryCapturePolicyOptionList();
32491 }
32492 }
32493 setState(4572);
32494 _errHandler.sync(this);
32495 _la = _input.LA(1);
32496 }
32497 setState(4573);
32498 match(RP_);
32499 }
32500 break;
32501 default:
32502 throw new NoViableAltException(this);
32503 }
32504 }
32505 catch (RecognitionException re) {
32506 _localctx.exception = re;
32507 _errHandler.reportError(this, re);
32508 _errHandler.recover(this, re);
32509 }
32510 finally {
32511 exitRule();
32512 }
32513 return _localctx;
32514 }
32515
32516 public static class QueryCapturePolicyOptionListContext extends ParserRuleContext {
32517 public TerminalNode STALE_CAPTURE_POLICY_THRESHOLD() { return getToken(SQLServerStatementParser.STALE_CAPTURE_POLICY_THRESHOLD, 0); }
32518 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32519 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
32520 public TerminalNode DAYS() { return getToken(SQLServerStatementParser.DAYS, 0); }
32521 public TerminalNode HOURS() { return getToken(SQLServerStatementParser.HOURS, 0); }
32522 public TerminalNode EXECUTION_COUNT() { return getToken(SQLServerStatementParser.EXECUTION_COUNT, 0); }
32523 public TerminalNode TOTAL_COMPILE_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_COMPILE_CPU_TIME_MS, 0); }
32524 public TerminalNode TOTAL_EXECUTION_CPU_TIME_MS() { return getToken(SQLServerStatementParser.TOTAL_EXECUTION_CPU_TIME_MS, 0); }
32525 public QueryCapturePolicyOptionListContext(ParserRuleContext parent, int invokingState) {
32526 super(parent, invokingState);
32527 }
32528 @Override public int getRuleIndex() { return RULE_queryCapturePolicyOptionList; }
32529 @Override
32530 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32531 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryCapturePolicyOptionList(this);
32532 else return visitor.visitChildren(this);
32533 }
32534 }
32535
32536 public final QueryCapturePolicyOptionListContext queryCapturePolicyOptionList() throws RecognitionException {
32537 QueryCapturePolicyOptionListContext _localctx = new QueryCapturePolicyOptionListContext(_ctx, getState());
32538 enterRule(_localctx, 626, RULE_queryCapturePolicyOptionList);
32539 int _la;
32540 try {
32541 setState(4590);
32542 _errHandler.sync(this);
32543 switch (_input.LA(1)) {
32544 case STALE_CAPTURE_POLICY_THRESHOLD:
32545 enterOuterAlt(_localctx, 1);
32546 {
32547 setState(4577);
32548 match(STALE_CAPTURE_POLICY_THRESHOLD);
32549 setState(4578);
32550 match(EQ_);
32551 setState(4579);
32552 match(NUMBER_);
32553 setState(4580);
32554 _la = _input.LA(1);
32555 if ( !(_la==DAYS || _la==HOURS) ) {
32556 _errHandler.recoverInline(this);
32557 }
32558 else {
32559 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32560 _errHandler.reportMatch(this);
32561 consume();
32562 }
32563 }
32564 break;
32565 case EXECUTION_COUNT:
32566 enterOuterAlt(_localctx, 2);
32567 {
32568 setState(4581);
32569 match(EXECUTION_COUNT);
32570 setState(4582);
32571 match(EQ_);
32572 setState(4583);
32573 match(NUMBER_);
32574 }
32575 break;
32576 case TOTAL_COMPILE_CPU_TIME_MS:
32577 enterOuterAlt(_localctx, 3);
32578 {
32579 setState(4584);
32580 match(TOTAL_COMPILE_CPU_TIME_MS);
32581 setState(4585);
32582 match(EQ_);
32583 setState(4586);
32584 match(NUMBER_);
32585 }
32586 break;
32587 case TOTAL_EXECUTION_CPU_TIME_MS:
32588 enterOuterAlt(_localctx, 4);
32589 {
32590 setState(4587);
32591 match(TOTAL_EXECUTION_CPU_TIME_MS);
32592 setState(4588);
32593 match(EQ_);
32594 setState(4589);
32595 match(NUMBER_);
32596 }
32597 break;
32598 default:
32599 throw new NoViableAltException(this);
32600 }
32601 }
32602 catch (RecognitionException re) {
32603 _localctx.exception = re;
32604 _errHandler.reportError(this, re);
32605 _errHandler.recover(this, re);
32606 }
32607 finally {
32608 exitRule();
32609 }
32610 return _localctx;
32611 }
32612
32613 public static class RecoveryOptionContext extends ParserRuleContext {
32614 public TerminalNode RECOVERY() { return getToken(SQLServerStatementParser.RECOVERY, 0); }
32615 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
32616 public TerminalNode BULK_LOGGED() { return getToken(SQLServerStatementParser.BULK_LOGGED, 0); }
32617 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
32618 public TerminalNode TORN_PAGE_DETECTION() { return getToken(SQLServerStatementParser.TORN_PAGE_DETECTION, 0); }
32619 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32620 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32621 public TerminalNode PAGE_VERIFY() { return getToken(SQLServerStatementParser.PAGE_VERIFY, 0); }
32622 public TerminalNode CHECKSUM() { return getToken(SQLServerStatementParser.CHECKSUM, 0); }
32623 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
32624 public RecoveryOptionContext(ParserRuleContext parent, int invokingState) {
32625 super(parent, invokingState);
32626 }
32627 @Override public int getRuleIndex() { return RULE_recoveryOption; }
32628 @Override
32629 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32630 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRecoveryOption(this);
32631 else return visitor.visitChildren(this);
32632 }
32633 }
32634
32635 public final RecoveryOptionContext recoveryOption() throws RecognitionException {
32636 RecoveryOptionContext _localctx = new RecoveryOptionContext(_ctx, getState());
32637 enterRule(_localctx, 628, RULE_recoveryOption);
32638 int _la;
32639 try {
32640 setState(4598);
32641 _errHandler.sync(this);
32642 switch (_input.LA(1)) {
32643 case RECOVERY:
32644 enterOuterAlt(_localctx, 1);
32645 {
32646 setState(4592);
32647 match(RECOVERY);
32648 setState(4593);
32649 _la = _input.LA(1);
32650 if ( !(_la==FULL || _la==SIMPLE || _la==BULK_LOGGED) ) {
32651 _errHandler.recoverInline(this);
32652 }
32653 else {
32654 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32655 _errHandler.reportMatch(this);
32656 consume();
32657 }
32658 }
32659 break;
32660 case TORN_PAGE_DETECTION:
32661 enterOuterAlt(_localctx, 2);
32662 {
32663 setState(4594);
32664 match(TORN_PAGE_DETECTION);
32665 setState(4595);
32666 _la = _input.LA(1);
32667 if ( !(_la==ON || _la==OFF) ) {
32668 _errHandler.recoverInline(this);
32669 }
32670 else {
32671 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32672 _errHandler.reportMatch(this);
32673 consume();
32674 }
32675 }
32676 break;
32677 case PAGE_VERIFY:
32678 enterOuterAlt(_localctx, 3);
32679 {
32680 setState(4596);
32681 match(PAGE_VERIFY);
32682 setState(4597);
32683 _la = _input.LA(1);
32684 if ( !(_la==NONE || _la==CHECKSUM || _la==TORN_PAGE_DETECTION) ) {
32685 _errHandler.recoverInline(this);
32686 }
32687 else {
32688 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32689 _errHandler.reportMatch(this);
32690 consume();
32691 }
32692 }
32693 break;
32694 default:
32695 throw new NoViableAltException(this);
32696 }
32697 }
32698 catch (RecognitionException re) {
32699 _localctx.exception = re;
32700 _errHandler.reportError(this, re);
32701 _errHandler.recover(this, re);
32702 }
32703 finally {
32704 exitRule();
32705 }
32706 return _localctx;
32707 }
32708
32709 public static class SqlOptionContext extends ParserRuleContext {
32710 public TerminalNode ANSI_NULL_DEFAULT() { return getToken(SQLServerStatementParser.ANSI_NULL_DEFAULT, 0); }
32711 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32712 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32713 public TerminalNode ANSI_NULLS() { return getToken(SQLServerStatementParser.ANSI_NULLS, 0); }
32714 public TerminalNode ANSI_PADDING() { return getToken(SQLServerStatementParser.ANSI_PADDING, 0); }
32715 public TerminalNode ANSI_WARNINGS() { return getToken(SQLServerStatementParser.ANSI_WARNINGS, 0); }
32716 public TerminalNode ARITHABORT() { return getToken(SQLServerStatementParser.ARITHABORT, 0); }
32717 public TerminalNode COMPATIBILITY_LEVEL() { return getToken(SQLServerStatementParser.COMPATIBILITY_LEVEL, 0); }
32718 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32719 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
32720 public TerminalNode CONCAT_NULL_YIELDS_NULL() { return getToken(SQLServerStatementParser.CONCAT_NULL_YIELDS_NULL, 0); }
32721 public TerminalNode NUMERIC_ROUNDABORT() { return getToken(SQLServerStatementParser.NUMERIC_ROUNDABORT, 0); }
32722 public TerminalNode QUOTED_IDENTIFIER() { return getToken(SQLServerStatementParser.QUOTED_IDENTIFIER, 0); }
32723 public TerminalNode RECURSIVE_TRIGGERS() { return getToken(SQLServerStatementParser.RECURSIVE_TRIGGERS, 0); }
32724 public SqlOptionContext(ParserRuleContext parent, int invokingState) {
32725 super(parent, invokingState);
32726 }
32727 @Override public int getRuleIndex() { return RULE_sqlOption; }
32728 @Override
32729 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32730 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSqlOption(this);
32731 else return visitor.visitChildren(this);
32732 }
32733 }
32734
32735 public final SqlOptionContext sqlOption() throws RecognitionException {
32736 SqlOptionContext _localctx = new SqlOptionContext(_ctx, getState());
32737 enterRule(_localctx, 630, RULE_sqlOption);
32738 int _la;
32739 try {
32740 setState(4621);
32741 _errHandler.sync(this);
32742 switch (_input.LA(1)) {
32743 case ANSI_NULL_DEFAULT:
32744 enterOuterAlt(_localctx, 1);
32745 {
32746 setState(4600);
32747 match(ANSI_NULL_DEFAULT);
32748 setState(4601);
32749 _la = _input.LA(1);
32750 if ( !(_la==ON || _la==OFF) ) {
32751 _errHandler.recoverInline(this);
32752 }
32753 else {
32754 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32755 _errHandler.reportMatch(this);
32756 consume();
32757 }
32758 }
32759 break;
32760 case ANSI_NULLS:
32761 enterOuterAlt(_localctx, 2);
32762 {
32763 setState(4602);
32764 match(ANSI_NULLS);
32765 setState(4603);
32766 _la = _input.LA(1);
32767 if ( !(_la==ON || _la==OFF) ) {
32768 _errHandler.recoverInline(this);
32769 }
32770 else {
32771 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32772 _errHandler.reportMatch(this);
32773 consume();
32774 }
32775 }
32776 break;
32777 case ANSI_PADDING:
32778 enterOuterAlt(_localctx, 3);
32779 {
32780 setState(4604);
32781 match(ANSI_PADDING);
32782 setState(4605);
32783 _la = _input.LA(1);
32784 if ( !(_la==ON || _la==OFF) ) {
32785 _errHandler.recoverInline(this);
32786 }
32787 else {
32788 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32789 _errHandler.reportMatch(this);
32790 consume();
32791 }
32792 }
32793 break;
32794 case ANSI_WARNINGS:
32795 enterOuterAlt(_localctx, 4);
32796 {
32797 setState(4606);
32798 match(ANSI_WARNINGS);
32799 setState(4607);
32800 _la = _input.LA(1);
32801 if ( !(_la==ON || _la==OFF) ) {
32802 _errHandler.recoverInline(this);
32803 }
32804 else {
32805 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32806 _errHandler.reportMatch(this);
32807 consume();
32808 }
32809 }
32810 break;
32811 case ARITHABORT:
32812 enterOuterAlt(_localctx, 5);
32813 {
32814 setState(4608);
32815 match(ARITHABORT);
32816 setState(4609);
32817 _la = _input.LA(1);
32818 if ( !(_la==ON || _la==OFF) ) {
32819 _errHandler.recoverInline(this);
32820 }
32821 else {
32822 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32823 _errHandler.reportMatch(this);
32824 consume();
32825 }
32826 }
32827 break;
32828 case COMPATIBILITY_LEVEL:
32829 enterOuterAlt(_localctx, 6);
32830 {
32831 setState(4610);
32832 match(COMPATIBILITY_LEVEL);
32833 setState(4611);
32834 match(EQ_);
32835 setState(4612);
32836 match(NUMBER_);
32837 }
32838 break;
32839 case CONCAT_NULL_YIELDS_NULL:
32840 enterOuterAlt(_localctx, 7);
32841 {
32842 setState(4613);
32843 match(CONCAT_NULL_YIELDS_NULL);
32844 setState(4614);
32845 _la = _input.LA(1);
32846 if ( !(_la==ON || _la==OFF) ) {
32847 _errHandler.recoverInline(this);
32848 }
32849 else {
32850 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32851 _errHandler.reportMatch(this);
32852 consume();
32853 }
32854 }
32855 break;
32856 case NUMERIC_ROUNDABORT:
32857 enterOuterAlt(_localctx, 8);
32858 {
32859 setState(4615);
32860 match(NUMERIC_ROUNDABORT);
32861 setState(4616);
32862 _la = _input.LA(1);
32863 if ( !(_la==ON || _la==OFF) ) {
32864 _errHandler.recoverInline(this);
32865 }
32866 else {
32867 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32868 _errHandler.reportMatch(this);
32869 consume();
32870 }
32871 }
32872 break;
32873 case QUOTED_IDENTIFIER:
32874 enterOuterAlt(_localctx, 9);
32875 {
32876 setState(4617);
32877 match(QUOTED_IDENTIFIER);
32878 setState(4618);
32879 _la = _input.LA(1);
32880 if ( !(_la==ON || _la==OFF) ) {
32881 _errHandler.recoverInline(this);
32882 }
32883 else {
32884 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32885 _errHandler.reportMatch(this);
32886 consume();
32887 }
32888 }
32889 break;
32890 case RECURSIVE_TRIGGERS:
32891 enterOuterAlt(_localctx, 10);
32892 {
32893 setState(4619);
32894 match(RECURSIVE_TRIGGERS);
32895 setState(4620);
32896 _la = _input.LA(1);
32897 if ( !(_la==ON || _la==OFF) ) {
32898 _errHandler.recoverInline(this);
32899 }
32900 else {
32901 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32902 _errHandler.reportMatch(this);
32903 consume();
32904 }
32905 }
32906 break;
32907 default:
32908 throw new NoViableAltException(this);
32909 }
32910 }
32911 catch (RecognitionException re) {
32912 _localctx.exception = re;
32913 _errHandler.reportError(this, re);
32914 _errHandler.recover(this, re);
32915 }
32916 finally {
32917 exitRule();
32918 }
32919 return _localctx;
32920 }
32921
32922 public static class SnapshotOptionContext extends ParserRuleContext {
32923 public TerminalNode ALLOW_SNAPSHOT_ISOLATION() { return getToken(SQLServerStatementParser.ALLOW_SNAPSHOT_ISOLATION, 0); }
32924 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
32925 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
32926 public TerminalNode READ_COMMITTED_SNAPSHOT() { return getToken(SQLServerStatementParser.READ_COMMITTED_SNAPSHOT, 0); }
32927 public TerminalNode MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT() { return getToken(SQLServerStatementParser.MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT, 0); }
32928 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
32929 public SnapshotOptionContext(ParserRuleContext parent, int invokingState) {
32930 super(parent, invokingState);
32931 }
32932 @Override public int getRuleIndex() { return RULE_snapshotOption; }
32933 @Override
32934 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
32935 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSnapshotOption(this);
32936 else return visitor.visitChildren(this);
32937 }
32938 }
32939
32940 public final SnapshotOptionContext snapshotOption() throws RecognitionException {
32941 SnapshotOptionContext _localctx = new SnapshotOptionContext(_ctx, getState());
32942 enterRule(_localctx, 632, RULE_snapshotOption);
32943 int _la;
32944 try {
32945 setState(4630);
32946 _errHandler.sync(this);
32947 switch (_input.LA(1)) {
32948 case ALLOW_SNAPSHOT_ISOLATION:
32949 enterOuterAlt(_localctx, 1);
32950 {
32951 setState(4623);
32952 match(ALLOW_SNAPSHOT_ISOLATION);
32953 setState(4624);
32954 _la = _input.LA(1);
32955 if ( !(_la==ON || _la==OFF) ) {
32956 _errHandler.recoverInline(this);
32957 }
32958 else {
32959 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32960 _errHandler.reportMatch(this);
32961 consume();
32962 }
32963 }
32964 break;
32965 case READ_COMMITTED_SNAPSHOT:
32966 enterOuterAlt(_localctx, 2);
32967 {
32968 setState(4625);
32969 match(READ_COMMITTED_SNAPSHOT);
32970 setState(4626);
32971 _la = _input.LA(1);
32972 if ( !(_la==ON || _la==OFF) ) {
32973 _errHandler.recoverInline(this);
32974 }
32975 else {
32976 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32977 _errHandler.reportMatch(this);
32978 consume();
32979 }
32980 }
32981 break;
32982 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
32983 enterOuterAlt(_localctx, 3);
32984 {
32985 setState(4627);
32986 match(MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT);
32987 setState(4628);
32988 match(EQ_);
32989 setState(4629);
32990 _la = _input.LA(1);
32991 if ( !(_la==ON || _la==OFF) ) {
32992 _errHandler.recoverInline(this);
32993 }
32994 else {
32995 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
32996 _errHandler.reportMatch(this);
32997 consume();
32998 }
32999 }
33000 break;
33001 default:
33002 throw new NoViableAltException(this);
33003 }
33004 }
33005 catch (RecognitionException re) {
33006 _localctx.exception = re;
33007 _errHandler.reportError(this, re);
33008 _errHandler.recover(this, re);
33009 }
33010 finally {
33011 exitRule();
33012 }
33013 return _localctx;
33014 }
33015
33016 public static class ServiceBrokerOptionContext extends ParserRuleContext {
33017 public TerminalNode ENABLE_BROKER() { return getToken(SQLServerStatementParser.ENABLE_BROKER, 0); }
33018 public TerminalNode DISABLE_BROKER() { return getToken(SQLServerStatementParser.DISABLE_BROKER, 0); }
33019 public TerminalNode NEW_BROKER() { return getToken(SQLServerStatementParser.NEW_BROKER, 0); }
33020 public TerminalNode ERROR_BROKER_CONVERSATIONS() { return getToken(SQLServerStatementParser.ERROR_BROKER_CONVERSATIONS, 0); }
33021 public TerminalNode HONOR_BROKER_PRIORITY() { return getToken(SQLServerStatementParser.HONOR_BROKER_PRIORITY, 0); }
33022 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
33023 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
33024 public ServiceBrokerOptionContext(ParserRuleContext parent, int invokingState) {
33025 super(parent, invokingState);
33026 }
33027 @Override public int getRuleIndex() { return RULE_serviceBrokerOption; }
33028 @Override
33029 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33030 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerOption(this);
33031 else return visitor.visitChildren(this);
33032 }
33033 }
33034
33035 public final ServiceBrokerOptionContext serviceBrokerOption() throws RecognitionException {
33036 ServiceBrokerOptionContext _localctx = new ServiceBrokerOptionContext(_ctx, getState());
33037 enterRule(_localctx, 634, RULE_serviceBrokerOption);
33038 int _la;
33039 try {
33040 setState(4638);
33041 _errHandler.sync(this);
33042 switch (_input.LA(1)) {
33043 case ENABLE_BROKER:
33044 enterOuterAlt(_localctx, 1);
33045 {
33046 setState(4632);
33047 match(ENABLE_BROKER);
33048 }
33049 break;
33050 case DISABLE_BROKER:
33051 enterOuterAlt(_localctx, 2);
33052 {
33053 setState(4633);
33054 match(DISABLE_BROKER);
33055 }
33056 break;
33057 case NEW_BROKER:
33058 enterOuterAlt(_localctx, 3);
33059 {
33060 setState(4634);
33061 match(NEW_BROKER);
33062 }
33063 break;
33064 case ERROR_BROKER_CONVERSATIONS:
33065 enterOuterAlt(_localctx, 4);
33066 {
33067 setState(4635);
33068 match(ERROR_BROKER_CONVERSATIONS);
33069 }
33070 break;
33071 case HONOR_BROKER_PRIORITY:
33072 enterOuterAlt(_localctx, 5);
33073 {
33074 setState(4636);
33075 match(HONOR_BROKER_PRIORITY);
33076 setState(4637);
33077 _la = _input.LA(1);
33078 if ( !(_la==ON || _la==OFF) ) {
33079 _errHandler.recoverInline(this);
33080 }
33081 else {
33082 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33083 _errHandler.reportMatch(this);
33084 consume();
33085 }
33086 }
33087 break;
33088 default:
33089 throw new NoViableAltException(this);
33090 }
33091 }
33092 catch (RecognitionException re) {
33093 _localctx.exception = re;
33094 _errHandler.reportError(this, re);
33095 _errHandler.recover(this, re);
33096 }
33097 finally {
33098 exitRule();
33099 }
33100 return _localctx;
33101 }
33102
33103 public static class TargetRecoveryTimeOptionContext extends ParserRuleContext {
33104 public TerminalNode TARGET_RECOVERY_TIME() { return getToken(SQLServerStatementParser.TARGET_RECOVERY_TIME, 0); }
33105 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33106 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33107 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
33108 public TerminalNode MINUTES() { return getToken(SQLServerStatementParser.MINUTES, 0); }
33109 public TargetRecoveryTimeOptionContext(ParserRuleContext parent, int invokingState) {
33110 super(parent, invokingState);
33111 }
33112 @Override public int getRuleIndex() { return RULE_targetRecoveryTimeOption; }
33113 @Override
33114 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33115 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTargetRecoveryTimeOption(this);
33116 else return visitor.visitChildren(this);
33117 }
33118 }
33119
33120 public final TargetRecoveryTimeOptionContext targetRecoveryTimeOption() throws RecognitionException {
33121 TargetRecoveryTimeOptionContext _localctx = new TargetRecoveryTimeOptionContext(_ctx, getState());
33122 enterRule(_localctx, 636, RULE_targetRecoveryTimeOption);
33123 int _la;
33124 try {
33125 enterOuterAlt(_localctx, 1);
33126 {
33127 setState(4640);
33128 match(TARGET_RECOVERY_TIME);
33129 setState(4641);
33130 match(EQ_);
33131 setState(4642);
33132 match(NUMBER_);
33133 setState(4643);
33134 _la = _input.LA(1);
33135 if ( !(_la==MINUTES || _la==SECONDS) ) {
33136 _errHandler.recoverInline(this);
33137 }
33138 else {
33139 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
33140 _errHandler.reportMatch(this);
33141 consume();
33142 }
33143 }
33144 }
33145 catch (RecognitionException re) {
33146 _localctx.exception = re;
33147 _errHandler.reportError(this, re);
33148 _errHandler.recover(this, re);
33149 }
33150 finally {
33151 exitRule();
33152 }
33153 return _localctx;
33154 }
33155
33156 public static class TerminationContext extends ParserRuleContext {
33157 public TerminalNode ROLLBACK() { return getToken(SQLServerStatementParser.ROLLBACK, 0); }
33158 public TerminalNode AFTER() { return getToken(SQLServerStatementParser.AFTER, 0); }
33159 public TerminalNode NUMBER_() { return getToken(SQLServerStatementParser.NUMBER_, 0); }
33160 public TerminalNode SECONDS() { return getToken(SQLServerStatementParser.SECONDS, 0); }
33161 public TerminalNode IMMEDIATE() { return getToken(SQLServerStatementParser.IMMEDIATE, 0); }
33162 public TerminalNode NO_WAIT() { return getToken(SQLServerStatementParser.NO_WAIT, 0); }
33163 public TerminationContext(ParserRuleContext parent, int invokingState) {
33164 super(parent, invokingState);
33165 }
33166 @Override public int getRuleIndex() { return RULE_termination; }
33167 @Override
33168 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33169 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTermination(this);
33170 else return visitor.visitChildren(this);
33171 }
33172 }
33173
33174 public final TerminationContext termination() throws RecognitionException {
33175 TerminationContext _localctx = new TerminationContext(_ctx, getState());
33176 enterRule(_localctx, 638, RULE_termination);
33177 int _la;
33178 try {
33179 setState(4654);
33180 _errHandler.sync(this);
33181 switch ( getInterpreter().adaptivePredict(_input,493,_ctx) ) {
33182 case 1:
33183 enterOuterAlt(_localctx, 1);
33184 {
33185 setState(4645);
33186 match(ROLLBACK);
33187 setState(4646);
33188 match(AFTER);
33189 setState(4647);
33190 match(NUMBER_);
33191 setState(4649);
33192 _errHandler.sync(this);
33193 _la = _input.LA(1);
33194 if (_la==SECONDS) {
33195 {
33196 setState(4648);
33197 match(SECONDS);
33198 }
33199 }
33200
33201 }
33202 break;
33203 case 2:
33204 enterOuterAlt(_localctx, 2);
33205 {
33206 setState(4651);
33207 match(ROLLBACK);
33208 setState(4652);
33209 match(IMMEDIATE);
33210 }
33211 break;
33212 case 3:
33213 enterOuterAlt(_localctx, 3);
33214 {
33215 setState(4653);
33216 match(NO_WAIT);
33217 }
33218 break;
33219 }
33220 }
33221 catch (RecognitionException re) {
33222 _localctx.exception = re;
33223 _errHandler.reportError(this, re);
33224 _errHandler.recover(this, re);
33225 }
33226 finally {
33227 exitRule();
33228 }
33229 return _localctx;
33230 }
33231
33232 public static class CreateServiceClauseContext extends ParserRuleContext {
33233 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33234 public List<ContractNameContext> contractName() {
33235 return getRuleContexts(ContractNameContext.class);
33236 }
33237 public ContractNameContext contractName(int i) {
33238 return getRuleContext(ContractNameContext.class,i);
33239 }
33240 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33241 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33242 public TerminalNode COMMA_(int i) {
33243 return getToken(SQLServerStatementParser.COMMA_, i);
33244 }
33245 public CreateServiceClauseContext(ParserRuleContext parent, int invokingState) {
33246 super(parent, invokingState);
33247 }
33248 @Override public int getRuleIndex() { return RULE_createServiceClause; }
33249 @Override
33250 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33251 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateServiceClause(this);
33252 else return visitor.visitChildren(this);
33253 }
33254 }
33255
33256 public final CreateServiceClauseContext createServiceClause() throws RecognitionException {
33257 CreateServiceClauseContext _localctx = new CreateServiceClauseContext(_ctx, getState());
33258 enterRule(_localctx, 640, RULE_createServiceClause);
33259 int _la;
33260 try {
33261 enterOuterAlt(_localctx, 1);
33262 {
33263 setState(4656);
33264 match(LP_);
33265 setState(4657);
33266 contractName();
33267 setState(4662);
33268 _errHandler.sync(this);
33269 _la = _input.LA(1);
33270 while (_la==COMMA_) {
33271 {
33272 {
33273 setState(4658);
33274 match(COMMA_);
33275 setState(4659);
33276 contractName();
33277 }
33278 }
33279 setState(4664);
33280 _errHandler.sync(this);
33281 _la = _input.LA(1);
33282 }
33283 setState(4665);
33284 match(RP_);
33285 }
33286 }
33287 catch (RecognitionException re) {
33288 _localctx.exception = re;
33289 _errHandler.reportError(this, re);
33290 _errHandler.recover(this, re);
33291 }
33292 finally {
33293 exitRule();
33294 }
33295 return _localctx;
33296 }
33297
33298 public static class AlterServiceClauseContext extends ParserRuleContext {
33299 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33300 public List<AlterServiceOptArgContext> alterServiceOptArg() {
33301 return getRuleContexts(AlterServiceOptArgContext.class);
33302 }
33303 public AlterServiceOptArgContext alterServiceOptArg(int i) {
33304 return getRuleContext(AlterServiceOptArgContext.class,i);
33305 }
33306 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33307 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33308 public TerminalNode COMMA_(int i) {
33309 return getToken(SQLServerStatementParser.COMMA_, i);
33310 }
33311 public AlterServiceClauseContext(ParserRuleContext parent, int invokingState) {
33312 super(parent, invokingState);
33313 }
33314 @Override public int getRuleIndex() { return RULE_alterServiceClause; }
33315 @Override
33316 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33317 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterServiceClause(this);
33318 else return visitor.visitChildren(this);
33319 }
33320 }
33321
33322 public final AlterServiceClauseContext alterServiceClause() throws RecognitionException {
33323 AlterServiceClauseContext _localctx = new AlterServiceClauseContext(_ctx, getState());
33324 enterRule(_localctx, 642, RULE_alterServiceClause);
33325 int _la;
33326 try {
33327 enterOuterAlt(_localctx, 1);
33328 {
33329 setState(4667);
33330 match(LP_);
33331 setState(4668);
33332 alterServiceOptArg();
33333 setState(4673);
33334 _errHandler.sync(this);
33335 _la = _input.LA(1);
33336 while (_la==COMMA_) {
33337 {
33338 {
33339 setState(4669);
33340 match(COMMA_);
33341 setState(4670);
33342 alterServiceOptArg();
33343 }
33344 }
33345 setState(4675);
33346 _errHandler.sync(this);
33347 _la = _input.LA(1);
33348 }
33349 setState(4676);
33350 match(RP_);
33351 }
33352 }
33353 catch (RecognitionException re) {
33354 _localctx.exception = re;
33355 _errHandler.reportError(this, re);
33356 _errHandler.recover(this, re);
33357 }
33358 finally {
33359 exitRule();
33360 }
33361 return _localctx;
33362 }
33363
33364 public static class AlterServiceOptArgContext extends ParserRuleContext {
33365 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
33366 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
33367 public ContractNameContext contractName() {
33368 return getRuleContext(ContractNameContext.class,0);
33369 }
33370 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
33371 public AlterServiceOptArgContext(ParserRuleContext parent, int invokingState) {
33372 super(parent, invokingState);
33373 }
33374 @Override public int getRuleIndex() { return RULE_alterServiceOptArg; }
33375 @Override
33376 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33377 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterServiceOptArg(this);
33378 else return visitor.visitChildren(this);
33379 }
33380 }
33381
33382 public final AlterServiceOptArgContext alterServiceOptArg() throws RecognitionException {
33383 AlterServiceOptArgContext _localctx = new AlterServiceOptArgContext(_ctx, getState());
33384 enterRule(_localctx, 644, RULE_alterServiceOptArg);
33385 try {
33386 setState(4684);
33387 _errHandler.sync(this);
33388 switch (_input.LA(1)) {
33389 case ADD:
33390 enterOuterAlt(_localctx, 1);
33391 {
33392 setState(4678);
33393 match(ADD);
33394 setState(4679);
33395 match(CONTRACT);
33396 setState(4680);
33397 contractName();
33398 }
33399 break;
33400 case DROP:
33401 enterOuterAlt(_localctx, 2);
33402 {
33403 setState(4681);
33404 match(DROP);
33405 setState(4682);
33406 match(CONTRACT);
33407 setState(4683);
33408 contractName();
33409 }
33410 break;
33411 default:
33412 throw new NoViableAltException(this);
33413 }
33414 }
33415 catch (RecognitionException re) {
33416 _localctx.exception = re;
33417 _errHandler.reportError(this, re);
33418 _errHandler.recover(this, re);
33419 }
33420 finally {
33421 exitRule();
33422 }
33423 return _localctx;
33424 }
33425
33426 public static class SchemaNameClauseContext extends ParserRuleContext {
33427 public SchemaNameContext schemaName() {
33428 return getRuleContext(SchemaNameContext.class,0);
33429 }
33430 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
33431 public IgnoredIdentifierContext ignoredIdentifier() {
33432 return getRuleContext(IgnoredIdentifierContext.class,0);
33433 }
33434 public SchemaNameClauseContext(ParserRuleContext parent, int invokingState) {
33435 super(parent, invokingState);
33436 }
33437 @Override public int getRuleIndex() { return RULE_schemaNameClause; }
33438 @Override
33439 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33440 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaNameClause(this);
33441 else return visitor.visitChildren(this);
33442 }
33443 }
33444
33445 public final SchemaNameClauseContext schemaNameClause() throws RecognitionException {
33446 SchemaNameClauseContext _localctx = new SchemaNameClauseContext(_ctx, getState());
33447 enterRule(_localctx, 646, RULE_schemaNameClause);
33448 try {
33449 setState(4693);
33450 _errHandler.sync(this);
33451 switch ( getInterpreter().adaptivePredict(_input,497,_ctx) ) {
33452 case 1:
33453 enterOuterAlt(_localctx, 1);
33454 {
33455 setState(4686);
33456 schemaName();
33457 }
33458 break;
33459 case 2:
33460 enterOuterAlt(_localctx, 2);
33461 {
33462 setState(4687);
33463 match(AUTHORIZATION);
33464 setState(4688);
33465 ignoredIdentifier();
33466 }
33467 break;
33468 case 3:
33469 enterOuterAlt(_localctx, 3);
33470 {
33471 setState(4689);
33472 schemaName();
33473 setState(4690);
33474 match(AUTHORIZATION);
33475 setState(4691);
33476 ignoredIdentifier();
33477 }
33478 break;
33479 }
33480 }
33481 catch (RecognitionException re) {
33482 _localctx.exception = re;
33483 _errHandler.reportError(this, re);
33484 _errHandler.recover(this, re);
33485 }
33486 finally {
33487 exitRule();
33488 }
33489 return _localctx;
33490 }
33491
33492 public static class SchemaElementContext extends ParserRuleContext {
33493 public CreateTableContext createTable() {
33494 return getRuleContext(CreateTableContext.class,0);
33495 }
33496 public CreateViewContext createView() {
33497 return getRuleContext(CreateViewContext.class,0);
33498 }
33499 public GrantContext grant() {
33500 return getRuleContext(GrantContext.class,0);
33501 }
33502 public RevokeContext revoke() {
33503 return getRuleContext(RevokeContext.class,0);
33504 }
33505 public DenyContext deny() {
33506 return getRuleContext(DenyContext.class,0);
33507 }
33508 public SchemaElementContext(ParserRuleContext parent, int invokingState) {
33509 super(parent, invokingState);
33510 }
33511 @Override public int getRuleIndex() { return RULE_schemaElement; }
33512 @Override
33513 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33514 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaElement(this);
33515 else return visitor.visitChildren(this);
33516 }
33517 }
33518
33519 public final SchemaElementContext schemaElement() throws RecognitionException {
33520 SchemaElementContext _localctx = new SchemaElementContext(_ctx, getState());
33521 enterRule(_localctx, 648, RULE_schemaElement);
33522 try {
33523 setState(4700);
33524 _errHandler.sync(this);
33525 switch ( getInterpreter().adaptivePredict(_input,498,_ctx) ) {
33526 case 1:
33527 enterOuterAlt(_localctx, 1);
33528 {
33529 setState(4695);
33530 createTable();
33531 }
33532 break;
33533 case 2:
33534 enterOuterAlt(_localctx, 2);
33535 {
33536 setState(4696);
33537 createView();
33538 }
33539 break;
33540 case 3:
33541 enterOuterAlt(_localctx, 3);
33542 {
33543 setState(4697);
33544 grant();
33545 }
33546 break;
33547 case 4:
33548 enterOuterAlt(_localctx, 4);
33549 {
33550 setState(4698);
33551 revoke();
33552 }
33553 break;
33554 case 5:
33555 enterOuterAlt(_localctx, 5);
33556 {
33557 setState(4699);
33558 deny();
33559 }
33560 break;
33561 }
33562 }
33563 catch (RecognitionException re) {
33564 _localctx.exception = re;
33565 _errHandler.reportError(this, re);
33566 _errHandler.recover(this, re);
33567 }
33568 finally {
33569 exitRule();
33570 }
33571 return _localctx;
33572 }
33573
33574 public static class CreateTableAsSelectClauseContext extends ParserRuleContext {
33575 public CreateTableAsSelectContext createTableAsSelect() {
33576 return getRuleContext(CreateTableAsSelectContext.class,0);
33577 }
33578 public CreateRemoteTableAsSelectContext createRemoteTableAsSelect() {
33579 return getRuleContext(CreateRemoteTableAsSelectContext.class,0);
33580 }
33581 public CreateTableAsSelectClauseContext(ParserRuleContext parent, int invokingState) {
33582 super(parent, invokingState);
33583 }
33584 @Override public int getRuleIndex() { return RULE_createTableAsSelectClause; }
33585 @Override
33586 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33587 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableAsSelectClause(this);
33588 else return visitor.visitChildren(this);
33589 }
33590 }
33591
33592 public final CreateTableAsSelectClauseContext createTableAsSelectClause() throws RecognitionException {
33593 CreateTableAsSelectClauseContext _localctx = new CreateTableAsSelectClauseContext(_ctx, getState());
33594 enterRule(_localctx, 650, RULE_createTableAsSelectClause);
33595 try {
33596 setState(4704);
33597 _errHandler.sync(this);
33598 switch ( getInterpreter().adaptivePredict(_input,499,_ctx) ) {
33599 case 1:
33600 enterOuterAlt(_localctx, 1);
33601 {
33602 setState(4702);
33603 createTableAsSelect();
33604 }
33605 break;
33606 case 2:
33607 enterOuterAlt(_localctx, 2);
33608 {
33609 setState(4703);
33610 createRemoteTableAsSelect();
33611 }
33612 break;
33613 }
33614 }
33615 catch (RecognitionException re) {
33616 _localctx.exception = re;
33617 _errHandler.reportError(this, re);
33618 _errHandler.recover(this, re);
33619 }
33620 finally {
33621 exitRule();
33622 }
33623 return _localctx;
33624 }
33625
33626 public static class CreateTableAsSelectContext extends ParserRuleContext {
33627 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
33628 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
33629 public TableNameContext tableName() {
33630 return getRuleContext(TableNameContext.class,0);
33631 }
33632 public WithDistributionOptionContext withDistributionOption() {
33633 return getRuleContext(WithDistributionOptionContext.class,0);
33634 }
33635 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
33636 public SelectContext select() {
33637 return getRuleContext(SelectContext.class,0);
33638 }
33639 public OptionQueryHintClauseContext optionQueryHintClause() {
33640 return getRuleContext(OptionQueryHintClauseContext.class,0);
33641 }
33642 public ColumnNamesContext columnNames() {
33643 return getRuleContext(ColumnNamesContext.class,0);
33644 }
33645 public CreateTableAsSelectContext(ParserRuleContext parent, int invokingState) {
33646 super(parent, invokingState);
33647 }
33648 @Override public int getRuleIndex() { return RULE_createTableAsSelect; }
33649 @Override
33650 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33651 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateTableAsSelect(this);
33652 else return visitor.visitChildren(this);
33653 }
33654 }
33655
33656 public final CreateTableAsSelectContext createTableAsSelect() throws RecognitionException {
33657 CreateTableAsSelectContext _localctx = new CreateTableAsSelectContext(_ctx, getState());
33658 enterRule(_localctx, 652, RULE_createTableAsSelect);
33659 int _la;
33660 try {
33661 enterOuterAlt(_localctx, 1);
33662 {
33663 setState(4706);
33664 match(CREATE);
33665 setState(4707);
33666 match(TABLE);
33667 setState(4708);
33668 tableName();
33669 setState(4710);
33670 _errHandler.sync(this);
33671 _la = _input.LA(1);
33672 if (_la==LP_) {
33673 {
33674 setState(4709);
33675 columnNames();
33676 }
33677 }
33678
33679 setState(4712);
33680 withDistributionOption();
33681 setState(4713);
33682 match(AS);
33683 setState(4714);
33684 select();
33685 setState(4715);
33686 optionQueryHintClause();
33687 }
33688 }
33689 catch (RecognitionException re) {
33690 _localctx.exception = re;
33691 _errHandler.reportError(this, re);
33692 _errHandler.recover(this, re);
33693 }
33694 finally {
33695 exitRule();
33696 }
33697 return _localctx;
33698 }
33699
33700 public static class CreateRemoteTableAsSelectContext extends ParserRuleContext {
33701 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
33702 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
33703 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
33704 public TableNameContext tableName() {
33705 return getRuleContext(TableNameContext.class,0);
33706 }
33707 public TerminalNode AT() { return getToken(SQLServerStatementParser.AT, 0); }
33708 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
33709 public TerminalNode LP_(int i) {
33710 return getToken(SQLServerStatementParser.LP_, i);
33711 }
33712 public StringLiteralsContext stringLiterals() {
33713 return getRuleContext(StringLiteralsContext.class,0);
33714 }
33715 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
33716 public TerminalNode RP_(int i) {
33717 return getToken(SQLServerStatementParser.RP_, i);
33718 }
33719 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
33720 public SelectContext select() {
33721 return getRuleContext(SelectContext.class,0);
33722 }
33723 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
33724 public TerminalNode BATCH_SIZE() { return getToken(SQLServerStatementParser.BATCH_SIZE, 0); }
33725 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
33726 public TerminalNode INT_NUM_() { return getToken(SQLServerStatementParser.INT_NUM_, 0); }
33727 public CreateRemoteTableAsSelectContext(ParserRuleContext parent, int invokingState) {
33728 super(parent, invokingState);
33729 }
33730 @Override public int getRuleIndex() { return RULE_createRemoteTableAsSelect; }
33731 @Override
33732 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33733 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateRemoteTableAsSelect(this);
33734 else return visitor.visitChildren(this);
33735 }
33736 }
33737
33738 public final CreateRemoteTableAsSelectContext createRemoteTableAsSelect() throws RecognitionException {
33739 CreateRemoteTableAsSelectContext _localctx = new CreateRemoteTableAsSelectContext(_ctx, getState());
33740 enterRule(_localctx, 654, RULE_createRemoteTableAsSelect);
33741 int _la;
33742 try {
33743 enterOuterAlt(_localctx, 1);
33744 {
33745 setState(4717);
33746 match(CREATE);
33747 setState(4718);
33748 match(REMOTE);
33749 setState(4719);
33750 match(TABLE);
33751 setState(4720);
33752 tableName();
33753 setState(4721);
33754 match(AT);
33755 setState(4722);
33756 match(LP_);
33757 setState(4723);
33758 stringLiterals();
33759 setState(4724);
33760 match(RP_);
33761 setState(4731);
33762 _errHandler.sync(this);
33763 _la = _input.LA(1);
33764 if (_la==WITH) {
33765 {
33766 setState(4725);
33767 match(WITH);
33768 setState(4726);
33769 match(LP_);
33770 setState(4727);
33771 match(BATCH_SIZE);
33772 setState(4728);
33773 match(EQ_);
33774 setState(4729);
33775 match(INT_NUM_);
33776 setState(4730);
33777 match(RP_);
33778 }
33779 }
33780
33781 setState(4733);
33782 match(AS);
33783 setState(4734);
33784 select();
33785 }
33786 }
33787 catch (RecognitionException re) {
33788 _localctx.exception = re;
33789 _errHandler.reportError(this, re);
33790 _errHandler.recover(this, re);
33791 }
33792 finally {
33793 exitRule();
33794 }
33795 return _localctx;
33796 }
33797
33798 public static class WithDistributionOptionContext extends ParserRuleContext {
33799 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
33800 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33801 public DistributionOptionContext distributionOption() {
33802 return getRuleContext(DistributionOptionContext.class,0);
33803 }
33804 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33805 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33806 public TerminalNode COMMA_(int i) {
33807 return getToken(SQLServerStatementParser.COMMA_, i);
33808 }
33809 public List<TableOptionContext> tableOption() {
33810 return getRuleContexts(TableOptionContext.class);
33811 }
33812 public TableOptionContext tableOption(int i) {
33813 return getRuleContext(TableOptionContext.class,i);
33814 }
33815 public WithDistributionOptionContext(ParserRuleContext parent, int invokingState) {
33816 super(parent, invokingState);
33817 }
33818 @Override public int getRuleIndex() { return RULE_withDistributionOption; }
33819 @Override
33820 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33821 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithDistributionOption(this);
33822 else return visitor.visitChildren(this);
33823 }
33824 }
33825
33826 public final WithDistributionOptionContext withDistributionOption() throws RecognitionException {
33827 WithDistributionOptionContext _localctx = new WithDistributionOptionContext(_ctx, getState());
33828 enterRule(_localctx, 656, RULE_withDistributionOption);
33829 int _la;
33830 try {
33831 enterOuterAlt(_localctx, 1);
33832 {
33833 setState(4736);
33834 match(WITH);
33835 setState(4737);
33836 match(LP_);
33837 setState(4738);
33838 distributionOption();
33839 setState(4748);
33840 _errHandler.sync(this);
33841 _la = _input.LA(1);
33842 if (_la==COMMA_) {
33843 {
33844 setState(4739);
33845 match(COMMA_);
33846 setState(4740);
33847 tableOption();
33848 setState(4745);
33849 _errHandler.sync(this);
33850 _la = _input.LA(1);
33851 while (_la==COMMA_) {
33852 {
33853 {
33854 setState(4741);
33855 match(COMMA_);
33856 setState(4742);
33857 tableOption();
33858 }
33859 }
33860 setState(4747);
33861 _errHandler.sync(this);
33862 _la = _input.LA(1);
33863 }
33864 }
33865 }
33866
33867 setState(4750);
33868 match(RP_);
33869 }
33870 }
33871 catch (RecognitionException re) {
33872 _localctx.exception = re;
33873 _errHandler.reportError(this, re);
33874 _errHandler.recover(this, re);
33875 }
33876 finally {
33877 exitRule();
33878 }
33879 return _localctx;
33880 }
33881
33882 public static class OptionQueryHintClauseContext extends ParserRuleContext {
33883 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
33884 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
33885 public List<QueryHintContext> queryHint() {
33886 return getRuleContexts(QueryHintContext.class);
33887 }
33888 public QueryHintContext queryHint(int i) {
33889 return getRuleContext(QueryHintContext.class,i);
33890 }
33891 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
33892 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
33893 public TerminalNode COMMA_(int i) {
33894 return getToken(SQLServerStatementParser.COMMA_, i);
33895 }
33896 public OptionQueryHintClauseContext(ParserRuleContext parent, int invokingState) {
33897 super(parent, invokingState);
33898 }
33899 @Override public int getRuleIndex() { return RULE_optionQueryHintClause; }
33900 @Override
33901 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33902 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionQueryHintClause(this);
33903 else return visitor.visitChildren(this);
33904 }
33905 }
33906
33907 public final OptionQueryHintClauseContext optionQueryHintClause() throws RecognitionException {
33908 OptionQueryHintClauseContext _localctx = new OptionQueryHintClauseContext(_ctx, getState());
33909 enterRule(_localctx, 658, RULE_optionQueryHintClause);
33910 int _la;
33911 try {
33912 enterOuterAlt(_localctx, 1);
33913 {
33914 setState(4764);
33915 _errHandler.sync(this);
33916 _la = _input.LA(1);
33917 if (_la==OPTION) {
33918 {
33919 setState(4752);
33920 match(OPTION);
33921 setState(4753);
33922 match(LP_);
33923 setState(4754);
33924 queryHint();
33925 setState(4759);
33926 _errHandler.sync(this);
33927 _la = _input.LA(1);
33928 while (_la==COMMA_) {
33929 {
33930 {
33931 setState(4755);
33932 match(COMMA_);
33933 setState(4756);
33934 queryHint();
33935 }
33936 }
33937 setState(4761);
33938 _errHandler.sync(this);
33939 _la = _input.LA(1);
33940 }
33941 setState(4762);
33942 match(RP_);
33943 }
33944 }
33945
33946 }
33947 }
33948 catch (RecognitionException re) {
33949 _localctx.exception = re;
33950 _errHandler.reportError(this, re);
33951 _errHandler.recover(this, re);
33952 }
33953 finally {
33954 exitRule();
33955 }
33956 return _localctx;
33957 }
33958
33959 public static class InsertContext extends ParserRuleContext {
33960 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
33961 public TableNameContext tableName() {
33962 return getRuleContext(TableNameContext.class,0);
33963 }
33964 public InsertDefaultValueContext insertDefaultValue() {
33965 return getRuleContext(InsertDefaultValueContext.class,0);
33966 }
33967 public InsertValuesClauseContext insertValuesClause() {
33968 return getRuleContext(InsertValuesClauseContext.class,0);
33969 }
33970 public InsertSelectClauseContext insertSelectClause() {
33971 return getRuleContext(InsertSelectClauseContext.class,0);
33972 }
33973 public WithClauseContext withClause() {
33974 return getRuleContext(WithClauseContext.class,0);
33975 }
33976 public TopContext top() {
33977 return getRuleContext(TopContext.class,0);
33978 }
33979 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
33980 public AliasContext alias() {
33981 return getRuleContext(AliasContext.class,0);
33982 }
33983 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
33984 public InsertContext(ParserRuleContext parent, int invokingState) {
33985 super(parent, invokingState);
33986 }
33987 @Override public int getRuleIndex() { return RULE_insert; }
33988 @Override
33989 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
33990 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsert(this);
33991 else return visitor.visitChildren(this);
33992 }
33993 }
33994
33995 public final InsertContext insert() throws RecognitionException {
33996 InsertContext _localctx = new InsertContext(_ctx, getState());
33997 enterRule(_localctx, 660, RULE_insert);
33998 int _la;
33999 try {
34000 enterOuterAlt(_localctx, 1);
34001 {
34002 setState(4767);
34003 _errHandler.sync(this);
34004 _la = _input.LA(1);
34005 if (_la==WITH) {
34006 {
34007 setState(4766);
34008 withClause();
34009 }
34010 }
34011
34012 setState(4769);
34013 match(INSERT);
34014 setState(4771);
34015 _errHandler.sync(this);
34016 switch ( getInterpreter().adaptivePredict(_input,507,_ctx) ) {
34017 case 1:
34018 {
34019 setState(4770);
34020 top();
34021 }
34022 break;
34023 }
34024 setState(4774);
34025 _errHandler.sync(this);
34026 _la = _input.LA(1);
34027 if (_la==INTO) {
34028 {
34029 setState(4773);
34030 match(INTO);
34031 }
34032 }
34033
34034 setState(4776);
34035 tableName();
34036 setState(4781);
34037 _errHandler.sync(this);
34038 switch ( getInterpreter().adaptivePredict(_input,510,_ctx) ) {
34039 case 1:
34040 {
34041 setState(4778);
34042 _errHandler.sync(this);
34043 _la = _input.LA(1);
34044 if (_la==AS) {
34045 {
34046 setState(4777);
34047 match(AS);
34048 }
34049 }
34050
34051 setState(4780);
34052 alias();
34053 }
34054 break;
34055 }
34056 setState(4786);
34057 _errHandler.sync(this);
34058 switch ( getInterpreter().adaptivePredict(_input,511,_ctx) ) {
34059 case 1:
34060 {
34061 setState(4783);
34062 insertDefaultValue();
34063 }
34064 break;
34065 case 2:
34066 {
34067 setState(4784);
34068 insertValuesClause();
34069 }
34070 break;
34071 case 3:
34072 {
34073 setState(4785);
34074 insertSelectClause();
34075 }
34076 break;
34077 }
34078 }
34079 }
34080 catch (RecognitionException re) {
34081 _localctx.exception = re;
34082 _errHandler.reportError(this, re);
34083 _errHandler.recover(this, re);
34084 }
34085 finally {
34086 exitRule();
34087 }
34088 return _localctx;
34089 }
34090
34091 public static class InsertDefaultValueContext extends ParserRuleContext {
34092 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
34093 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
34094 public ColumnNamesContext columnNames() {
34095 return getRuleContext(ColumnNamesContext.class,0);
34096 }
34097 public OutputClauseContext outputClause() {
34098 return getRuleContext(OutputClauseContext.class,0);
34099 }
34100 public InsertDefaultValueContext(ParserRuleContext parent, int invokingState) {
34101 super(parent, invokingState);
34102 }
34103 @Override public int getRuleIndex() { return RULE_insertDefaultValue; }
34104 @Override
34105 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34106 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertDefaultValue(this);
34107 else return visitor.visitChildren(this);
34108 }
34109 }
34110
34111 public final InsertDefaultValueContext insertDefaultValue() throws RecognitionException {
34112 InsertDefaultValueContext _localctx = new InsertDefaultValueContext(_ctx, getState());
34113 enterRule(_localctx, 662, RULE_insertDefaultValue);
34114 int _la;
34115 try {
34116 enterOuterAlt(_localctx, 1);
34117 {
34118 setState(4789);
34119 _errHandler.sync(this);
34120 _la = _input.LA(1);
34121 if (_la==LP_) {
34122 {
34123 setState(4788);
34124 columnNames();
34125 }
34126 }
34127
34128 setState(4792);
34129 _errHandler.sync(this);
34130 _la = _input.LA(1);
34131 if (_la==OUTPUT) {
34132 {
34133 setState(4791);
34134 outputClause();
34135 }
34136 }
34137
34138 setState(4794);
34139 match(DEFAULT);
34140 setState(4795);
34141 match(VALUES);
34142 }
34143 }
34144 catch (RecognitionException re) {
34145 _localctx.exception = re;
34146 _errHandler.reportError(this, re);
34147 _errHandler.recover(this, re);
34148 }
34149 finally {
34150 exitRule();
34151 }
34152 return _localctx;
34153 }
34154
34155 public static class InsertValuesClauseContext extends ParserRuleContext {
34156 public TerminalNode VALUES() { return getToken(SQLServerStatementParser.VALUES, 0); }
34157 public List<AssignmentValuesContext> assignmentValues() {
34158 return getRuleContexts(AssignmentValuesContext.class);
34159 }
34160 public AssignmentValuesContext assignmentValues(int i) {
34161 return getRuleContext(AssignmentValuesContext.class,i);
34162 }
34163 public ColumnNamesContext columnNames() {
34164 return getRuleContext(ColumnNamesContext.class,0);
34165 }
34166 public OutputClauseContext outputClause() {
34167 return getRuleContext(OutputClauseContext.class,0);
34168 }
34169 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34170 public TerminalNode COMMA_(int i) {
34171 return getToken(SQLServerStatementParser.COMMA_, i);
34172 }
34173 public InsertValuesClauseContext(ParserRuleContext parent, int invokingState) {
34174 super(parent, invokingState);
34175 }
34176 @Override public int getRuleIndex() { return RULE_insertValuesClause; }
34177 @Override
34178 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34179 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertValuesClause(this);
34180 else return visitor.visitChildren(this);
34181 }
34182 }
34183
34184 public final InsertValuesClauseContext insertValuesClause() throws RecognitionException {
34185 InsertValuesClauseContext _localctx = new InsertValuesClauseContext(_ctx, getState());
34186 enterRule(_localctx, 664, RULE_insertValuesClause);
34187 int _la;
34188 try {
34189 enterOuterAlt(_localctx, 1);
34190 {
34191 setState(4798);
34192 _errHandler.sync(this);
34193 _la = _input.LA(1);
34194 if (_la==LP_) {
34195 {
34196 setState(4797);
34197 columnNames();
34198 }
34199 }
34200
34201 setState(4801);
34202 _errHandler.sync(this);
34203 _la = _input.LA(1);
34204 if (_la==OUTPUT) {
34205 {
34206 setState(4800);
34207 outputClause();
34208 }
34209 }
34210
34211 setState(4803);
34212 match(VALUES);
34213 setState(4804);
34214 assignmentValues();
34215 setState(4809);
34216 _errHandler.sync(this);
34217 _la = _input.LA(1);
34218 while (_la==COMMA_) {
34219 {
34220 {
34221 setState(4805);
34222 match(COMMA_);
34223 setState(4806);
34224 assignmentValues();
34225 }
34226 }
34227 setState(4811);
34228 _errHandler.sync(this);
34229 _la = _input.LA(1);
34230 }
34231 }
34232 }
34233 catch (RecognitionException re) {
34234 _localctx.exception = re;
34235 _errHandler.reportError(this, re);
34236 _errHandler.recover(this, re);
34237 }
34238 finally {
34239 exitRule();
34240 }
34241 return _localctx;
34242 }
34243
34244 public static class InsertSelectClauseContext extends ParserRuleContext {
34245 public SelectContext select() {
34246 return getRuleContext(SelectContext.class,0);
34247 }
34248 public ColumnNamesContext columnNames() {
34249 return getRuleContext(ColumnNamesContext.class,0);
34250 }
34251 public OutputClauseContext outputClause() {
34252 return getRuleContext(OutputClauseContext.class,0);
34253 }
34254 public InsertSelectClauseContext(ParserRuleContext parent, int invokingState) {
34255 super(parent, invokingState);
34256 }
34257 @Override public int getRuleIndex() { return RULE_insertSelectClause; }
34258 @Override
34259 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34260 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitInsertSelectClause(this);
34261 else return visitor.visitChildren(this);
34262 }
34263 }
34264
34265 public final InsertSelectClauseContext insertSelectClause() throws RecognitionException {
34266 InsertSelectClauseContext _localctx = new InsertSelectClauseContext(_ctx, getState());
34267 enterRule(_localctx, 666, RULE_insertSelectClause);
34268 int _la;
34269 try {
34270 enterOuterAlt(_localctx, 1);
34271 {
34272 setState(4813);
34273 _errHandler.sync(this);
34274 _la = _input.LA(1);
34275 if (_la==LP_) {
34276 {
34277 setState(4812);
34278 columnNames();
34279 }
34280 }
34281
34282 setState(4816);
34283 _errHandler.sync(this);
34284 _la = _input.LA(1);
34285 if (_la==OUTPUT) {
34286 {
34287 setState(4815);
34288 outputClause();
34289 }
34290 }
34291
34292 setState(4818);
34293 select();
34294 }
34295 }
34296 catch (RecognitionException re) {
34297 _localctx.exception = re;
34298 _errHandler.reportError(this, re);
34299 _errHandler.recover(this, re);
34300 }
34301 finally {
34302 exitRule();
34303 }
34304 return _localctx;
34305 }
34306
34307 public static class UpdateContext extends ParserRuleContext {
34308 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
34309 public TableReferencesContext tableReferences() {
34310 return getRuleContext(TableReferencesContext.class,0);
34311 }
34312 public SetAssignmentsClauseContext setAssignmentsClause() {
34313 return getRuleContext(SetAssignmentsClauseContext.class,0);
34314 }
34315 public WithClauseContext withClause() {
34316 return getRuleContext(WithClauseContext.class,0);
34317 }
34318 public TopContext top() {
34319 return getRuleContext(TopContext.class,0);
34320 }
34321 public WhereClauseContext whereClause() {
34322 return getRuleContext(WhereClauseContext.class,0);
34323 }
34324 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
34325 public QueryHintContext queryHint() {
34326 return getRuleContext(QueryHintContext.class,0);
34327 }
34328 public UpdateContext(ParserRuleContext parent, int invokingState) {
34329 super(parent, invokingState);
34330 }
34331 @Override public int getRuleIndex() { return RULE_update; }
34332 @Override
34333 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34334 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUpdate(this);
34335 else return visitor.visitChildren(this);
34336 }
34337 }
34338
34339 public final UpdateContext update() throws RecognitionException {
34340 UpdateContext _localctx = new UpdateContext(_ctx, getState());
34341 enterRule(_localctx, 668, RULE_update);
34342 int _la;
34343 try {
34344 enterOuterAlt(_localctx, 1);
34345 {
34346 setState(4821);
34347 _errHandler.sync(this);
34348 _la = _input.LA(1);
34349 if (_la==WITH) {
34350 {
34351 setState(4820);
34352 withClause();
34353 }
34354 }
34355
34356 setState(4823);
34357 match(UPDATE);
34358 setState(4825);
34359 _errHandler.sync(this);
34360 switch ( getInterpreter().adaptivePredict(_input,520,_ctx) ) {
34361 case 1:
34362 {
34363 setState(4824);
34364 top();
34365 }
34366 break;
34367 }
34368 setState(4827);
34369 tableReferences();
34370 setState(4828);
34371 setAssignmentsClause();
34372 setState(4830);
34373 _errHandler.sync(this);
34374 _la = _input.LA(1);
34375 if (_la==WHERE) {
34376 {
34377 setState(4829);
34378 whereClause();
34379 }
34380 }
34381
34382 setState(4834);
34383 _errHandler.sync(this);
34384 _la = _input.LA(1);
34385 if (_la==OPTION) {
34386 {
34387 setState(4832);
34388 match(OPTION);
34389 setState(4833);
34390 queryHint();
34391 }
34392 }
34393
34394 }
34395 }
34396 catch (RecognitionException re) {
34397 _localctx.exception = re;
34398 _errHandler.reportError(this, re);
34399 _errHandler.recover(this, re);
34400 }
34401 finally {
34402 exitRule();
34403 }
34404 return _localctx;
34405 }
34406
34407 public static class AssignmentContext extends ParserRuleContext {
34408 public ColumnNameContext columnName() {
34409 return getRuleContext(ColumnNameContext.class,0);
34410 }
34411 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
34412 public AssignmentValueContext assignmentValue() {
34413 return getRuleContext(AssignmentValueContext.class,0);
34414 }
34415 public AssignmentContext(ParserRuleContext parent, int invokingState) {
34416 super(parent, invokingState);
34417 }
34418 @Override public int getRuleIndex() { return RULE_assignment; }
34419 @Override
34420 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34421 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignment(this);
34422 else return visitor.visitChildren(this);
34423 }
34424 }
34425
34426 public final AssignmentContext assignment() throws RecognitionException {
34427 AssignmentContext _localctx = new AssignmentContext(_ctx, getState());
34428 enterRule(_localctx, 670, RULE_assignment);
34429 try {
34430 enterOuterAlt(_localctx, 1);
34431 {
34432 setState(4836);
34433 columnName();
34434 setState(4837);
34435 match(EQ_);
34436 setState(4838);
34437 assignmentValue();
34438 }
34439 }
34440 catch (RecognitionException re) {
34441 _localctx.exception = re;
34442 _errHandler.reportError(this, re);
34443 _errHandler.recover(this, re);
34444 }
34445 finally {
34446 exitRule();
34447 }
34448 return _localctx;
34449 }
34450
34451 public static class SetAssignmentsClauseContext extends ParserRuleContext {
34452 public TerminalNode SET() { return getToken(SQLServerStatementParser.SET, 0); }
34453 public List<AssignmentContext> assignment() {
34454 return getRuleContexts(AssignmentContext.class);
34455 }
34456 public AssignmentContext assignment(int i) {
34457 return getRuleContext(AssignmentContext.class,i);
34458 }
34459 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34460 public TerminalNode COMMA_(int i) {
34461 return getToken(SQLServerStatementParser.COMMA_, i);
34462 }
34463 public FromClauseContext fromClause() {
34464 return getRuleContext(FromClauseContext.class,0);
34465 }
34466 public SetAssignmentsClauseContext(ParserRuleContext parent, int invokingState) {
34467 super(parent, invokingState);
34468 }
34469 @Override public int getRuleIndex() { return RULE_setAssignmentsClause; }
34470 @Override
34471 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34472 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetAssignmentsClause(this);
34473 else return visitor.visitChildren(this);
34474 }
34475 }
34476
34477 public final SetAssignmentsClauseContext setAssignmentsClause() throws RecognitionException {
34478 SetAssignmentsClauseContext _localctx = new SetAssignmentsClauseContext(_ctx, getState());
34479 enterRule(_localctx, 672, RULE_setAssignmentsClause);
34480 int _la;
34481 try {
34482 enterOuterAlt(_localctx, 1);
34483 {
34484 setState(4840);
34485 match(SET);
34486 setState(4841);
34487 assignment();
34488 setState(4846);
34489 _errHandler.sync(this);
34490 _la = _input.LA(1);
34491 while (_la==COMMA_) {
34492 {
34493 {
34494 setState(4842);
34495 match(COMMA_);
34496 setState(4843);
34497 assignment();
34498 }
34499 }
34500 setState(4848);
34501 _errHandler.sync(this);
34502 _la = _input.LA(1);
34503 }
34504 setState(4850);
34505 _errHandler.sync(this);
34506 _la = _input.LA(1);
34507 if (_la==FROM) {
34508 {
34509 setState(4849);
34510 fromClause();
34511 }
34512 }
34513
34514 }
34515 }
34516 catch (RecognitionException re) {
34517 _localctx.exception = re;
34518 _errHandler.reportError(this, re);
34519 _errHandler.recover(this, re);
34520 }
34521 finally {
34522 exitRule();
34523 }
34524 return _localctx;
34525 }
34526
34527 public static class AssignmentValuesContext extends ParserRuleContext {
34528 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
34529 public List<AssignmentValueContext> assignmentValue() {
34530 return getRuleContexts(AssignmentValueContext.class);
34531 }
34532 public AssignmentValueContext assignmentValue(int i) {
34533 return getRuleContext(AssignmentValueContext.class,i);
34534 }
34535 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
34536 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
34537 public TerminalNode COMMA_(int i) {
34538 return getToken(SQLServerStatementParser.COMMA_, i);
34539 }
34540 public AssignmentValuesContext(ParserRuleContext parent, int invokingState) {
34541 super(parent, invokingState);
34542 }
34543 @Override public int getRuleIndex() { return RULE_assignmentValues; }
34544 @Override
34545 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34546 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignmentValues(this);
34547 else return visitor.visitChildren(this);
34548 }
34549 }
34550
34551 public final AssignmentValuesContext assignmentValues() throws RecognitionException {
34552 AssignmentValuesContext _localctx = new AssignmentValuesContext(_ctx, getState());
34553 enterRule(_localctx, 674, RULE_assignmentValues);
34554 int _la;
34555 try {
34556 setState(4865);
34557 _errHandler.sync(this);
34558 switch ( getInterpreter().adaptivePredict(_input,526,_ctx) ) {
34559 case 1:
34560 enterOuterAlt(_localctx, 1);
34561 {
34562 setState(4852);
34563 match(LP_);
34564 setState(4853);
34565 assignmentValue();
34566 setState(4858);
34567 _errHandler.sync(this);
34568 _la = _input.LA(1);
34569 while (_la==COMMA_) {
34570 {
34571 {
34572 setState(4854);
34573 match(COMMA_);
34574 setState(4855);
34575 assignmentValue();
34576 }
34577 }
34578 setState(4860);
34579 _errHandler.sync(this);
34580 _la = _input.LA(1);
34581 }
34582 setState(4861);
34583 match(RP_);
34584 }
34585 break;
34586 case 2:
34587 enterOuterAlt(_localctx, 2);
34588 {
34589 setState(4863);
34590 match(LP_);
34591 setState(4864);
34592 match(RP_);
34593 }
34594 break;
34595 }
34596 }
34597 catch (RecognitionException re) {
34598 _localctx.exception = re;
34599 _errHandler.reportError(this, re);
34600 _errHandler.recover(this, re);
34601 }
34602 finally {
34603 exitRule();
34604 }
34605 return _localctx;
34606 }
34607
34608 public static class AssignmentValueContext extends ParserRuleContext {
34609 public ExprContext expr() {
34610 return getRuleContext(ExprContext.class,0);
34611 }
34612 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
34613 public AssignmentValueContext(ParserRuleContext parent, int invokingState) {
34614 super(parent, invokingState);
34615 }
34616 @Override public int getRuleIndex() { return RULE_assignmentValue; }
34617 @Override
34618 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
34619 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssignmentValue(this);
34620 else return visitor.visitChildren(this);
34621 }
34622 }
34623
34624 public final AssignmentValueContext assignmentValue() throws RecognitionException {
34625 AssignmentValueContext _localctx = new AssignmentValueContext(_ctx, getState());
34626 enterRule(_localctx, 676, RULE_assignmentValue);
34627 try {
34628 setState(4869);
34629 _errHandler.sync(this);
34630 switch (_input.LA(1)) {
34631 case NOT_:
34632 case TILDE_:
34633 case PLUS_:
34634 case MINUS_:
34635 case LP_:
34636 case LBE_:
34637 case QUESTION_:
34638 case DOLLAR_:
34639 case TRUNCATE:
34640 case SCHEMA:
34641 case FUNCTION:
34642 case TRIGGER:
34643 case CASE:
34644 case CAST:
34645 case IF:
34646 case NOT:
34647 case NULL:
34648 case TRUE:
34649 case FALSE:
34650 case EXISTS:
34651 case GROUP:
34652 case LIMIT:
34653 case OFFSET:
34654 case SAVEPOINT:
34655 case BOOLEAN:
34656 case CHAR:
34657 case ARRAY:
34658 case INTERVAL:
34659 case DATE:
34660 case TIME:
34661 case TIMESTAMP:
34662 case LOCALTIME:
34663 case LOCALTIMESTAMP:
34664 case QUARTER:
34665 case WEEK:
34666 case DAY:
34667 case MICROSECOND:
34668 case MAX:
34669 case MIN:
34670 case SUM:
34671 case COUNT:
34672 case AVG:
34673 case ENABLE:
34674 case DISABLE:
34675 case INSTANCE:
34676 case DO:
34677 case DEFINER:
34678 case SQL:
34679 case CASCADED:
34680 case LOCAL:
34681 case NEXT:
34682 case NAME:
34683 case INTEGER:
34684 case TYPE:
34685 case READ_ONLY:
34686 case DATABASE:
34687 case DATEPART:
34688 case PASSWORD:
34689 case BINARY:
34690 case HIDDEN_:
34691 case MOD:
34692 case PARTITION:
34693 case PARTITIONS:
34694 case TOP:
34695 case ROW:
34696 case ROWS:
34697 case XOR:
34698 case ALWAYS:
34699 case ROLE:
34700 case START:
34701 case ALGORITHM:
34702 case AUTO:
34703 case BLOCKERS:
34704 case CLUSTERED:
34705 case NONCLUSTERED:
34706 case COLUMNSTORE:
34707 case CONTENT:
34708 case CONVERT:
34709 case YEARS:
34710 case MONTHS:
34711 case WEEKS:
34712 case DAYS:
34713 case MINUTES:
34714 case DENY:
34715 case DETERMINISTIC:
34716 case DISTRIBUTION:
34717 case DOCUMENT:
34718 case DURABILITY:
34719 case ENCRYPTED:
34720 case FILESTREAM:
34721 case FILETABLE:
34722 case FILLFACTOR:
34723 case FOLLOWING:
34724 case HASH:
34725 case HEAP:
34726 case INBOUND:
34727 case OUTBOUND:
34728 case UNBOUNDED:
34729 case INFINITE:
34730 case LOGIN:
34731 case MASKED:
34732 case MAXDOP:
34733 case MOVE:
34734 case NOCHECK:
34735 case OBJECT:
34736 case OFF:
34737 case ONLINE:
34738 case OVER:
34739 case PAGE:
34740 case PAUSED:
34741 case PERIOD:
34742 case PERSISTED:
34743 case PRECEDING:
34744 case RANDOMIZED:
34745 case RANGE:
34746 case REBUILD:
34747 case REPLICATE:
34748 case REPLICATION:
34749 case RESUMABLE:
34750 case ROWGUIDCOL:
34751 case SAVE:
34752 case SELF:
34753 case SPARSE:
34754 case SWITCH:
34755 case TRAN:
34756 case TRANCOUNT:
34757 case CONTROL:
34758 case CONCAT:
34759 case TAKE:
34760 case OWNERSHIP:
34761 case DEFINITION:
34762 case APPLICATION:
34763 case ASSEMBLY:
34764 case SYMMETRIC:
34765 case ASYMMETRIC:
34766 case SERVER:
34767 case RECEIVE:
34768 case CHANGE:
34769 case TRACE:
34770 case TRACKING:
34771 case RESOURCES:
34772 case SETTINGS:
34773 case STATE:
34774 case AVAILABILITY:
34775 case CREDENTIAL:
34776 case ENDPOINT:
34777 case EVENT:
34778 case NOTIFICATION:
34779 case LINKED:
34780 case AUDIT:
34781 case DDL:
34782 case XML:
34783 case IMPERSONATE:
34784 case SECURABLES:
34785 case AUTHENTICATE:
34786 case EXTERNAL:
34787 case ACCESS:
34788 case ADMINISTER:
34789 case BULK:
34790 case OPERATIONS:
34791 case UNSAFE:
34792 case SHUTDOWN:
34793 case SCOPED:
34794 case CONFIGURATION:
34795 case DATASPACE:
34796 case SERVICE:
34797 case CERTIFICATE:
34798 case CONTRACT:
34799 case ENCRYPTION:
34800 case MASTER:
34801 case DATA:
34802 case SOURCE:
34803 case FILE:
34804 case FORMAT:
34805 case LIBRARY:
34806 case FULLTEXT:
34807 case MASK:
34808 case UNMASK:
34809 case MESSAGE:
34810 case REMOTE:
34811 case BINDING:
34812 case ROUTE:
34813 case SECURITY:
34814 case POLICY:
34815 case AGGREGATE:
34816 case QUEUE:
34817 case RULE:
34818 case SYNONYM:
34819 case COLLECTION:
34820 case SCRIPT:
34821 case KILL:
34822 case BACKUP:
34823 case LOG:
34824 case SHOWPLAN:
34825 case SUBSCRIBE:
34826 case QUERY:
34827 case NOTIFICATIONS:
34828 case CHECKPOINT:
34829 case SEQUENCE:
34830 case ABORT_AFTER_WAIT:
34831 case ALLOW_PAGE_LOCKS:
34832 case ALLOW_ROW_LOCKS:
34833 case ALL_SPARSE_COLUMNS:
34834 case BUCKET_COUNT:
34835 case COLUMNSTORE_ARCHIVE:
34836 case COLUMN_ENCRYPTION_KEY:
34837 case COLUMN_SET:
34838 case COMPRESSION_DELAY:
34839 case DATABASE_DEAULT:
34840 case DATA_COMPRESSION:
34841 case DATA_CONSISTENCY_CHECK:
34842 case ENCRYPTION_TYPE:
34843 case SYSTEM_TIME:
34844 case SYSTEM_VERSIONING:
34845 case TEXTIMAGE_ON:
34846 case WAIT_AT_LOW_PRIORITY:
34847 case STATISTICS_INCREMENTAL:
34848 case STATISTICS_NORECOMPUTE:
34849 case ROUND_ROBIN:
34850 case SCHEMA_AND_DATA:
34851 case SCHEMA_ONLY:
34852 case SORT_IN_TEMPDB:
34853 case IGNORE_DUP_KEY:
34854 case IMPLICIT_TRANSACTIONS:
34855 case MAX_DURATION:
34856 case MEMORY_OPTIMIZED:
34857 case MIGRATION_STATE:
34858 case PAD_INDEX:
34859 case REMOTE_DATA_ARCHIVE:
34860 case FILESTREAM_ON:
34861 case FILETABLE_COLLATE_FILENAME:
34862 case FILETABLE_DIRECTORY:
34863 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
34864 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
34865 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
34866 case FILTER_PREDICATE:
34867 case HISTORY_RETENTION_PERIOD:
34868 case HISTORY_TABLE:
34869 case LOCK_ESCALATION:
34870 case DROP_EXISTING:
34871 case ROW_NUMBER:
34872 case FIRST:
34873 case DATETIME2:
34874 case OUTPUT:
34875 case INSERTED:
34876 case DELETED:
34877 case FILENAME:
34878 case MAXSIZE:
34879 case FILEGROWTH:
34880 case UNLIMITED:
34881 case KB:
34882 case MB:
34883 case GB:
34884 case TB:
34885 case MEMORY_OPTIMIZED_DATA:
34886 case FILEGROUP:
34887 case NON_TRANSACTED_ACCESS:
34888 case DB_CHAINING:
34889 case TRUSTWORTHY:
34890 case FORWARD_ONLY:
34891 case KEYSET:
34892 case FAST_FORWARD:
34893 case SCROLL_LOCKS:
34894 case OPTIMISTIC:
34895 case TYPE_WARNING:
34896 case SCHEMABINDING:
34897 case CALLER:
34898 case OWNER:
34899 case SNAPSHOT:
34900 case REPEATABLE:
34901 case SERIALIZABLE:
34902 case NATIVE_COMPILATION:
34903 case VIEW_METADATA:
34904 case INSTEAD:
34905 case APPEND:
34906 case INCREMENT:
34907 case CACHE:
34908 case MINVALUE:
34909 case MAXVALUE:
34910 case RESTART:
34911 case LOB_COMPACTION:
34912 case COMPRESS_ALL_ROW_GROUPS:
34913 case REORGANIZE:
34914 case RESUME:
34915 case PAUSE:
34916 case ABORT:
34917 case ACCELERATED_DATABASE_RECOVERY:
34918 case PERSISTENT_VERSION_STORE_FILEGROUP:
34919 case IMMEDIATE:
34920 case NO_WAIT:
34921 case TARGET_RECOVERY_TIME:
34922 case SECONDS:
34923 case HONOR_BROKER_PRIORITY:
34924 case ERROR_BROKER_CONVERSATIONS:
34925 case NEW_BROKER:
34926 case DISABLE_BROKER:
34927 case ENABLE_BROKER:
34928 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
34929 case READ_COMMITTED_SNAPSHOT:
34930 case ALLOW_SNAPSHOT_ISOLATION:
34931 case RECURSIVE_TRIGGERS:
34932 case QUOTED_IDENTIFIER:
34933 case NUMERIC_ROUNDABORT:
34934 case CONCAT_NULL_YIELDS_NULL:
34935 case COMPATIBILITY_LEVEL:
34936 case ARITHABORT:
34937 case ANSI_WARNINGS:
34938 case ANSI_PADDING:
34939 case ANSI_NULLS:
34940 case ANSI_NULL_DEFAULT:
34941 case PAGE_VERIFY:
34942 case CHECKSUM:
34943 case TORN_PAGE_DETECTION:
34944 case BULK_LOGGED:
34945 case RECOVERY:
34946 case TOTAL_EXECUTION_CPU_TIME_MS:
34947 case TOTAL_COMPILE_CPU_TIME_MS:
34948 case STALE_CAPTURE_POLICY_THRESHOLD:
34949 case EXECUTION_COUNT:
34950 case QUERY_CAPTURE_POLICY:
34951 case WAIT_STATS_CAPTURE_MODE:
34952 case MAX_PLANS_PER_QUERY:
34953 case QUERY_CAPTURE_MODE:
34954 case SIZE_BASED_CLEANUP_MODE:
34955 case INTERVAL_LENGTH_MINUTES:
34956 case MAX_STORAGE_SIZE_MB:
34957 case DATA_FLUSH_INTERVAL_SECONDS:
34958 case CLEANUP_POLICY:
34959 case CUSTOM:
34960 case STALE_QUERY_THRESHOLD_DAYS:
34961 case OPERATION_MODE:
34962 case QUERY_STORE:
34963 case CURSOR_DEFAULT:
34964 case GLOBAL:
34965 case CURSOR_CLOSE_ON_COMMIT:
34966 case HOURS:
34967 case CHANGE_RETENTION:
34968 case AUTO_CLEANUP:
34969 case CHANGE_TRACKING:
34970 case AUTOMATIC_TUNING:
34971 case FORCE_LAST_GOOD_PLAN:
34972 case AUTO_UPDATE_STATISTICS_ASYNC:
34973 case AUTO_UPDATE_STATISTICS:
34974 case AUTO_SHRINK:
34975 case AUTO_CREATE_STATISTICS:
34976 case INCREMENTAL:
34977 case AUTO_CLOSE:
34978 case DATA_RETENTION:
34979 case TEMPORAL_HISTORY_RETENTION:
34980 case EDITION:
34981 case MIXED_PAGE_ALLOCATION:
34982 case DISABLED:
34983 case ALLOWED:
34984 case HADR:
34985 case MULTI_USER:
34986 case RESTRICTED_USER:
34987 case SINGLE_USER:
34988 case OFFLINE:
34989 case EMERGENCY:
34990 case SUSPEND:
34991 case DATE_CORRELATION_OPTIMIZATION:
34992 case ELASTIC_POOL:
34993 case SERVICE_OBJECTIVE:
34994 case DATABASE_NAME:
34995 case ALLOW_CONNECTIONS:
34996 case GEO:
34997 case NAMED:
34998 case DATEFIRST:
34999 case BACKUP_STORAGE_REDUNDANCY:
35000 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
35001 case SECONDARY:
35002 case FAILOVER:
35003 case DEFAULT_FULLTEXT_LANGUAGE:
35004 case DEFAULT_LANGUAGE:
35005 case INLINE:
35006 case NESTED_TRIGGERS:
35007 case TRANSFORM_NOISE_WORDS:
35008 case TWO_DIGIT_YEAR_CUTOFF:
35009 case PERSISTENT_LOG_BUFFER:
35010 case DIRECTORY_NAME:
35011 case DATEFORMAT:
35012 case DELAYED_DURABILITY:
35013 case AUTHORIZATION:
35014 case TRANSFER:
35015 case SEARCH:
35016 case MEMBER:
35017 case IDENTIFIER_:
35018 case DELIMITED_IDENTIFIER_:
35019 case STRING_:
35020 case NUMBER_:
35021 case HEX_DIGIT_:
35022 case BIT_NUM_:
35023 case NCHAR_TEXT:
35024 enterOuterAlt(_localctx, 1);
35025 {
35026 setState(4867);
35027 expr(0);
35028 }
35029 break;
35030 case DEFAULT:
35031 enterOuterAlt(_localctx, 2);
35032 {
35033 setState(4868);
35034 match(DEFAULT);
35035 }
35036 break;
35037 default:
35038 throw new NoViableAltException(this);
35039 }
35040 }
35041 catch (RecognitionException re) {
35042 _localctx.exception = re;
35043 _errHandler.reportError(this, re);
35044 _errHandler.recover(this, re);
35045 }
35046 finally {
35047 exitRule();
35048 }
35049 return _localctx;
35050 }
35051
35052 public static class DeleteContext extends ParserRuleContext {
35053 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
35054 public SingleTableClauseContext singleTableClause() {
35055 return getRuleContext(SingleTableClauseContext.class,0);
35056 }
35057 public MultipleTablesClauseContext multipleTablesClause() {
35058 return getRuleContext(MultipleTablesClauseContext.class,0);
35059 }
35060 public WithClauseContext withClause() {
35061 return getRuleContext(WithClauseContext.class,0);
35062 }
35063 public TopContext top() {
35064 return getRuleContext(TopContext.class,0);
35065 }
35066 public OutputClauseContext outputClause() {
35067 return getRuleContext(OutputClauseContext.class,0);
35068 }
35069 public WhereClauseContext whereClause() {
35070 return getRuleContext(WhereClauseContext.class,0);
35071 }
35072 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
35073 public QueryHintContext queryHint() {
35074 return getRuleContext(QueryHintContext.class,0);
35075 }
35076 public DeleteContext(ParserRuleContext parent, int invokingState) {
35077 super(parent, invokingState);
35078 }
35079 @Override public int getRuleIndex() { return RULE_delete; }
35080 @Override
35081 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35082 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDelete(this);
35083 else return visitor.visitChildren(this);
35084 }
35085 }
35086
35087 public final DeleteContext delete() throws RecognitionException {
35088 DeleteContext _localctx = new DeleteContext(_ctx, getState());
35089 enterRule(_localctx, 678, RULE_delete);
35090 int _la;
35091 try {
35092 enterOuterAlt(_localctx, 1);
35093 {
35094 setState(4872);
35095 _errHandler.sync(this);
35096 _la = _input.LA(1);
35097 if (_la==WITH) {
35098 {
35099 setState(4871);
35100 withClause();
35101 }
35102 }
35103
35104 setState(4874);
35105 match(DELETE);
35106 setState(4876);
35107 _errHandler.sync(this);
35108 switch ( getInterpreter().adaptivePredict(_input,529,_ctx) ) {
35109 case 1:
35110 {
35111 setState(4875);
35112 top();
35113 }
35114 break;
35115 }
35116 setState(4880);
35117 _errHandler.sync(this);
35118 switch ( getInterpreter().adaptivePredict(_input,530,_ctx) ) {
35119 case 1:
35120 {
35121 setState(4878);
35122 singleTableClause();
35123 }
35124 break;
35125 case 2:
35126 {
35127 setState(4879);
35128 multipleTablesClause();
35129 }
35130 break;
35131 }
35132 setState(4883);
35133 _errHandler.sync(this);
35134 _la = _input.LA(1);
35135 if (_la==OUTPUT) {
35136 {
35137 setState(4882);
35138 outputClause();
35139 }
35140 }
35141
35142 setState(4886);
35143 _errHandler.sync(this);
35144 _la = _input.LA(1);
35145 if (_la==WHERE) {
35146 {
35147 setState(4885);
35148 whereClause();
35149 }
35150 }
35151
35152 setState(4890);
35153 _errHandler.sync(this);
35154 _la = _input.LA(1);
35155 if (_la==OPTION) {
35156 {
35157 setState(4888);
35158 match(OPTION);
35159 setState(4889);
35160 queryHint();
35161 }
35162 }
35163
35164 }
35165 }
35166 catch (RecognitionException re) {
35167 _localctx.exception = re;
35168 _errHandler.reportError(this, re);
35169 _errHandler.recover(this, re);
35170 }
35171 finally {
35172 exitRule();
35173 }
35174 return _localctx;
35175 }
35176
35177 public static class SingleTableClauseContext extends ParserRuleContext {
35178 public TableNameContext tableName() {
35179 return getRuleContext(TableNameContext.class,0);
35180 }
35181 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
35182 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
35183 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
35184 public AliasContext alias() {
35185 return getRuleContext(AliasContext.class,0);
35186 }
35187 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
35188 public SingleTableClauseContext(ParserRuleContext parent, int invokingState) {
35189 super(parent, invokingState);
35190 }
35191 @Override public int getRuleIndex() { return RULE_singleTableClause; }
35192 @Override
35193 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35194 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSingleTableClause(this);
35195 else return visitor.visitChildren(this);
35196 }
35197 }
35198
35199 public final SingleTableClauseContext singleTableClause() throws RecognitionException {
35200 SingleTableClauseContext _localctx = new SingleTableClauseContext(_ctx, getState());
35201 enterRule(_localctx, 680, RULE_singleTableClause);
35202 int _la;
35203 try {
35204 enterOuterAlt(_localctx, 1);
35205 {
35206 setState(4893);
35207 _errHandler.sync(this);
35208 _la = _input.LA(1);
35209 if (_la==FROM) {
35210 {
35211 setState(4892);
35212 match(FROM);
35213 }
35214 }
35215
35216 setState(4896);
35217 _errHandler.sync(this);
35218 _la = _input.LA(1);
35219 if (_la==LP_) {
35220 {
35221 setState(4895);
35222 match(LP_);
35223 }
35224 }
35225
35226 setState(4898);
35227 tableName();
35228 setState(4900);
35229 _errHandler.sync(this);
35230 _la = _input.LA(1);
35231 if (_la==RP_) {
35232 {
35233 setState(4899);
35234 match(RP_);
35235 }
35236 }
35237
35238 setState(4906);
35239 _errHandler.sync(this);
35240 switch ( getInterpreter().adaptivePredict(_input,538,_ctx) ) {
35241 case 1:
35242 {
35243 setState(4903);
35244 _errHandler.sync(this);
35245 _la = _input.LA(1);
35246 if (_la==AS) {
35247 {
35248 setState(4902);
35249 match(AS);
35250 }
35251 }
35252
35253 setState(4905);
35254 alias();
35255 }
35256 break;
35257 }
35258 }
35259 }
35260 catch (RecognitionException re) {
35261 _localctx.exception = re;
35262 _errHandler.reportError(this, re);
35263 _errHandler.recover(this, re);
35264 }
35265 finally {
35266 exitRule();
35267 }
35268 return _localctx;
35269 }
35270
35271 public static class MultipleTablesClauseContext extends ParserRuleContext {
35272 public MultipleTableNamesContext multipleTableNames() {
35273 return getRuleContext(MultipleTableNamesContext.class,0);
35274 }
35275 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
35276 public TableReferencesContext tableReferences() {
35277 return getRuleContext(TableReferencesContext.class,0);
35278 }
35279 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
35280 public MultipleTablesClauseContext(ParserRuleContext parent, int invokingState) {
35281 super(parent, invokingState);
35282 }
35283 @Override public int getRuleIndex() { return RULE_multipleTablesClause; }
35284 @Override
35285 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35286 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMultipleTablesClause(this);
35287 else return visitor.visitChildren(this);
35288 }
35289 }
35290
35291 public final MultipleTablesClauseContext multipleTablesClause() throws RecognitionException {
35292 MultipleTablesClauseContext _localctx = new MultipleTablesClauseContext(_ctx, getState());
35293 enterRule(_localctx, 682, RULE_multipleTablesClause);
35294 try {
35295 setState(4917);
35296 _errHandler.sync(this);
35297 switch (_input.LA(1)) {
35298 case TRUNCATE:
35299 case SCHEMA:
35300 case FUNCTION:
35301 case TRIGGER:
35302 case CAST:
35303 case GROUP:
35304 case LIMIT:
35305 case OFFSET:
35306 case SAVEPOINT:
35307 case BOOLEAN:
35308 case ARRAY:
35309 case DATE:
35310 case LOCALTIME:
35311 case LOCALTIMESTAMP:
35312 case QUARTER:
35313 case WEEK:
35314 case DAY:
35315 case MICROSECOND:
35316 case MAX:
35317 case MIN:
35318 case SUM:
35319 case COUNT:
35320 case AVG:
35321 case ENABLE:
35322 case DISABLE:
35323 case INSTANCE:
35324 case DO:
35325 case DEFINER:
35326 case SQL:
35327 case CASCADED:
35328 case LOCAL:
35329 case NEXT:
35330 case NAME:
35331 case INTEGER:
35332 case TYPE:
35333 case READ_ONLY:
35334 case DATABASE:
35335 case DATEPART:
35336 case PASSWORD:
35337 case BINARY:
35338 case HIDDEN_:
35339 case MOD:
35340 case PARTITION:
35341 case PARTITIONS:
35342 case TOP:
35343 case ROW:
35344 case ROWS:
35345 case XOR:
35346 case ALWAYS:
35347 case ROLE:
35348 case START:
35349 case ALGORITHM:
35350 case AUTO:
35351 case BLOCKERS:
35352 case CLUSTERED:
35353 case NONCLUSTERED:
35354 case COLUMNSTORE:
35355 case CONTENT:
35356 case YEARS:
35357 case MONTHS:
35358 case WEEKS:
35359 case DAYS:
35360 case MINUTES:
35361 case DENY:
35362 case DETERMINISTIC:
35363 case DISTRIBUTION:
35364 case DOCUMENT:
35365 case DURABILITY:
35366 case ENCRYPTED:
35367 case FILESTREAM:
35368 case FILETABLE:
35369 case FILLFACTOR:
35370 case FOLLOWING:
35371 case HASH:
35372 case HEAP:
35373 case INBOUND:
35374 case OUTBOUND:
35375 case UNBOUNDED:
35376 case INFINITE:
35377 case LOGIN:
35378 case MASKED:
35379 case MAXDOP:
35380 case MOVE:
35381 case NOCHECK:
35382 case OBJECT:
35383 case OFF:
35384 case ONLINE:
35385 case OVER:
35386 case PAGE:
35387 case PAUSED:
35388 case PERIOD:
35389 case PERSISTED:
35390 case PRECEDING:
35391 case RANDOMIZED:
35392 case RANGE:
35393 case REBUILD:
35394 case REPLICATE:
35395 case REPLICATION:
35396 case RESUMABLE:
35397 case ROWGUIDCOL:
35398 case SAVE:
35399 case SELF:
35400 case SPARSE:
35401 case SWITCH:
35402 case TRAN:
35403 case TRANCOUNT:
35404 case CONTROL:
35405 case CONCAT:
35406 case TAKE:
35407 case OWNERSHIP:
35408 case DEFINITION:
35409 case APPLICATION:
35410 case ASSEMBLY:
35411 case SYMMETRIC:
35412 case ASYMMETRIC:
35413 case SERVER:
35414 case RECEIVE:
35415 case CHANGE:
35416 case TRACE:
35417 case TRACKING:
35418 case RESOURCES:
35419 case SETTINGS:
35420 case STATE:
35421 case AVAILABILITY:
35422 case CREDENTIAL:
35423 case ENDPOINT:
35424 case EVENT:
35425 case NOTIFICATION:
35426 case LINKED:
35427 case AUDIT:
35428 case DDL:
35429 case XML:
35430 case IMPERSONATE:
35431 case SECURABLES:
35432 case AUTHENTICATE:
35433 case EXTERNAL:
35434 case ACCESS:
35435 case ADMINISTER:
35436 case BULK:
35437 case OPERATIONS:
35438 case UNSAFE:
35439 case SHUTDOWN:
35440 case SCOPED:
35441 case CONFIGURATION:
35442 case DATASPACE:
35443 case SERVICE:
35444 case CERTIFICATE:
35445 case CONTRACT:
35446 case ENCRYPTION:
35447 case MASTER:
35448 case DATA:
35449 case SOURCE:
35450 case FILE:
35451 case FORMAT:
35452 case LIBRARY:
35453 case FULLTEXT:
35454 case MASK:
35455 case UNMASK:
35456 case MESSAGE:
35457 case REMOTE:
35458 case BINDING:
35459 case ROUTE:
35460 case SECURITY:
35461 case POLICY:
35462 case AGGREGATE:
35463 case QUEUE:
35464 case RULE:
35465 case SYNONYM:
35466 case COLLECTION:
35467 case SCRIPT:
35468 case KILL:
35469 case BACKUP:
35470 case LOG:
35471 case SHOWPLAN:
35472 case SUBSCRIBE:
35473 case QUERY:
35474 case NOTIFICATIONS:
35475 case CHECKPOINT:
35476 case SEQUENCE:
35477 case ABORT_AFTER_WAIT:
35478 case ALLOW_PAGE_LOCKS:
35479 case ALLOW_ROW_LOCKS:
35480 case ALL_SPARSE_COLUMNS:
35481 case BUCKET_COUNT:
35482 case COLUMNSTORE_ARCHIVE:
35483 case COLUMN_ENCRYPTION_KEY:
35484 case COLUMN_SET:
35485 case COMPRESSION_DELAY:
35486 case DATABASE_DEAULT:
35487 case DATA_COMPRESSION:
35488 case DATA_CONSISTENCY_CHECK:
35489 case ENCRYPTION_TYPE:
35490 case SYSTEM_TIME:
35491 case SYSTEM_VERSIONING:
35492 case TEXTIMAGE_ON:
35493 case WAIT_AT_LOW_PRIORITY:
35494 case STATISTICS_INCREMENTAL:
35495 case STATISTICS_NORECOMPUTE:
35496 case ROUND_ROBIN:
35497 case SCHEMA_AND_DATA:
35498 case SCHEMA_ONLY:
35499 case SORT_IN_TEMPDB:
35500 case IGNORE_DUP_KEY:
35501 case IMPLICIT_TRANSACTIONS:
35502 case MAX_DURATION:
35503 case MEMORY_OPTIMIZED:
35504 case MIGRATION_STATE:
35505 case PAD_INDEX:
35506 case REMOTE_DATA_ARCHIVE:
35507 case FILESTREAM_ON:
35508 case FILETABLE_COLLATE_FILENAME:
35509 case FILETABLE_DIRECTORY:
35510 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
35511 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
35512 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
35513 case FILTER_PREDICATE:
35514 case HISTORY_RETENTION_PERIOD:
35515 case HISTORY_TABLE:
35516 case LOCK_ESCALATION:
35517 case DROP_EXISTING:
35518 case ROW_NUMBER:
35519 case FIRST:
35520 case DATETIME2:
35521 case OUTPUT:
35522 case INSERTED:
35523 case DELETED:
35524 case FILENAME:
35525 case MAXSIZE:
35526 case FILEGROWTH:
35527 case UNLIMITED:
35528 case KB:
35529 case MB:
35530 case GB:
35531 case TB:
35532 case MEMORY_OPTIMIZED_DATA:
35533 case FILEGROUP:
35534 case NON_TRANSACTED_ACCESS:
35535 case DB_CHAINING:
35536 case TRUSTWORTHY:
35537 case FORWARD_ONLY:
35538 case KEYSET:
35539 case FAST_FORWARD:
35540 case SCROLL_LOCKS:
35541 case OPTIMISTIC:
35542 case TYPE_WARNING:
35543 case SCHEMABINDING:
35544 case CALLER:
35545 case OWNER:
35546 case SNAPSHOT:
35547 case REPEATABLE:
35548 case SERIALIZABLE:
35549 case NATIVE_COMPILATION:
35550 case VIEW_METADATA:
35551 case INSTEAD:
35552 case APPEND:
35553 case INCREMENT:
35554 case CACHE:
35555 case MINVALUE:
35556 case MAXVALUE:
35557 case RESTART:
35558 case LOB_COMPACTION:
35559 case COMPRESS_ALL_ROW_GROUPS:
35560 case REORGANIZE:
35561 case RESUME:
35562 case PAUSE:
35563 case ABORT:
35564 case ACCELERATED_DATABASE_RECOVERY:
35565 case PERSISTENT_VERSION_STORE_FILEGROUP:
35566 case IMMEDIATE:
35567 case NO_WAIT:
35568 case TARGET_RECOVERY_TIME:
35569 case SECONDS:
35570 case HONOR_BROKER_PRIORITY:
35571 case ERROR_BROKER_CONVERSATIONS:
35572 case NEW_BROKER:
35573 case DISABLE_BROKER:
35574 case ENABLE_BROKER:
35575 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
35576 case READ_COMMITTED_SNAPSHOT:
35577 case ALLOW_SNAPSHOT_ISOLATION:
35578 case RECURSIVE_TRIGGERS:
35579 case QUOTED_IDENTIFIER:
35580 case NUMERIC_ROUNDABORT:
35581 case CONCAT_NULL_YIELDS_NULL:
35582 case COMPATIBILITY_LEVEL:
35583 case ARITHABORT:
35584 case ANSI_WARNINGS:
35585 case ANSI_PADDING:
35586 case ANSI_NULLS:
35587 case ANSI_NULL_DEFAULT:
35588 case PAGE_VERIFY:
35589 case CHECKSUM:
35590 case TORN_PAGE_DETECTION:
35591 case BULK_LOGGED:
35592 case RECOVERY:
35593 case TOTAL_EXECUTION_CPU_TIME_MS:
35594 case TOTAL_COMPILE_CPU_TIME_MS:
35595 case STALE_CAPTURE_POLICY_THRESHOLD:
35596 case EXECUTION_COUNT:
35597 case QUERY_CAPTURE_POLICY:
35598 case WAIT_STATS_CAPTURE_MODE:
35599 case MAX_PLANS_PER_QUERY:
35600 case QUERY_CAPTURE_MODE:
35601 case SIZE_BASED_CLEANUP_MODE:
35602 case INTERVAL_LENGTH_MINUTES:
35603 case MAX_STORAGE_SIZE_MB:
35604 case DATA_FLUSH_INTERVAL_SECONDS:
35605 case CLEANUP_POLICY:
35606 case CUSTOM:
35607 case STALE_QUERY_THRESHOLD_DAYS:
35608 case OPERATION_MODE:
35609 case QUERY_STORE:
35610 case CURSOR_DEFAULT:
35611 case GLOBAL:
35612 case CURSOR_CLOSE_ON_COMMIT:
35613 case HOURS:
35614 case CHANGE_RETENTION:
35615 case AUTO_CLEANUP:
35616 case CHANGE_TRACKING:
35617 case AUTOMATIC_TUNING:
35618 case FORCE_LAST_GOOD_PLAN:
35619 case AUTO_UPDATE_STATISTICS_ASYNC:
35620 case AUTO_UPDATE_STATISTICS:
35621 case AUTO_SHRINK:
35622 case AUTO_CREATE_STATISTICS:
35623 case INCREMENTAL:
35624 case AUTO_CLOSE:
35625 case DATA_RETENTION:
35626 case TEMPORAL_HISTORY_RETENTION:
35627 case EDITION:
35628 case MIXED_PAGE_ALLOCATION:
35629 case DISABLED:
35630 case ALLOWED:
35631 case HADR:
35632 case MULTI_USER:
35633 case RESTRICTED_USER:
35634 case SINGLE_USER:
35635 case OFFLINE:
35636 case EMERGENCY:
35637 case SUSPEND:
35638 case DATE_CORRELATION_OPTIMIZATION:
35639 case ELASTIC_POOL:
35640 case SERVICE_OBJECTIVE:
35641 case DATABASE_NAME:
35642 case ALLOW_CONNECTIONS:
35643 case GEO:
35644 case NAMED:
35645 case DATEFIRST:
35646 case BACKUP_STORAGE_REDUNDANCY:
35647 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
35648 case SECONDARY:
35649 case FAILOVER:
35650 case DEFAULT_FULLTEXT_LANGUAGE:
35651 case DEFAULT_LANGUAGE:
35652 case INLINE:
35653 case NESTED_TRIGGERS:
35654 case TRANSFORM_NOISE_WORDS:
35655 case TWO_DIGIT_YEAR_CUTOFF:
35656 case PERSISTENT_LOG_BUFFER:
35657 case DIRECTORY_NAME:
35658 case DATEFORMAT:
35659 case DELAYED_DURABILITY:
35660 case AUTHORIZATION:
35661 case TRANSFER:
35662 case SEARCH:
35663 case MEMBER:
35664 case IDENTIFIER_:
35665 case DELIMITED_IDENTIFIER_:
35666 enterOuterAlt(_localctx, 1);
35667 {
35668 setState(4908);
35669 multipleTableNames();
35670 setState(4909);
35671 match(FROM);
35672 setState(4910);
35673 tableReferences();
35674 }
35675 break;
35676 case FROM:
35677 enterOuterAlt(_localctx, 2);
35678 {
35679 setState(4912);
35680 match(FROM);
35681 setState(4913);
35682 multipleTableNames();
35683 setState(4914);
35684 match(USING);
35685 setState(4915);
35686 tableReferences();
35687 }
35688 break;
35689 default:
35690 throw new NoViableAltException(this);
35691 }
35692 }
35693 catch (RecognitionException re) {
35694 _localctx.exception = re;
35695 _errHandler.reportError(this, re);
35696 _errHandler.recover(this, re);
35697 }
35698 finally {
35699 exitRule();
35700 }
35701 return _localctx;
35702 }
35703
35704 public static class MultipleTableNamesContext extends ParserRuleContext {
35705 public List<TableNameContext> tableName() {
35706 return getRuleContexts(TableNameContext.class);
35707 }
35708 public TableNameContext tableName(int i) {
35709 return getRuleContext(TableNameContext.class,i);
35710 }
35711 public List<TerminalNode> DOT_ASTERISK_() { return getTokens(SQLServerStatementParser.DOT_ASTERISK_); }
35712 public TerminalNode DOT_ASTERISK_(int i) {
35713 return getToken(SQLServerStatementParser.DOT_ASTERISK_, i);
35714 }
35715 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
35716 public TerminalNode COMMA_(int i) {
35717 return getToken(SQLServerStatementParser.COMMA_, i);
35718 }
35719 public MultipleTableNamesContext(ParserRuleContext parent, int invokingState) {
35720 super(parent, invokingState);
35721 }
35722 @Override public int getRuleIndex() { return RULE_multipleTableNames; }
35723 @Override
35724 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35725 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitMultipleTableNames(this);
35726 else return visitor.visitChildren(this);
35727 }
35728 }
35729
35730 public final MultipleTableNamesContext multipleTableNames() throws RecognitionException {
35731 MultipleTableNamesContext _localctx = new MultipleTableNamesContext(_ctx, getState());
35732 enterRule(_localctx, 684, RULE_multipleTableNames);
35733 int _la;
35734 try {
35735 enterOuterAlt(_localctx, 1);
35736 {
35737 setState(4919);
35738 tableName();
35739 setState(4921);
35740 _errHandler.sync(this);
35741 _la = _input.LA(1);
35742 if (_la==DOT_ASTERISK_) {
35743 {
35744 setState(4920);
35745 match(DOT_ASTERISK_);
35746 }
35747 }
35748
35749 setState(4930);
35750 _errHandler.sync(this);
35751 _la = _input.LA(1);
35752 while (_la==COMMA_) {
35753 {
35754 {
35755 setState(4923);
35756 match(COMMA_);
35757 setState(4924);
35758 tableName();
35759 setState(4926);
35760 _errHandler.sync(this);
35761 _la = _input.LA(1);
35762 if (_la==DOT_ASTERISK_) {
35763 {
35764 setState(4925);
35765 match(DOT_ASTERISK_);
35766 }
35767 }
35768
35769 }
35770 }
35771 setState(4932);
35772 _errHandler.sync(this);
35773 _la = _input.LA(1);
35774 }
35775 }
35776 }
35777 catch (RecognitionException re) {
35778 _localctx.exception = re;
35779 _errHandler.reportError(this, re);
35780 _errHandler.recover(this, re);
35781 }
35782 finally {
35783 exitRule();
35784 }
35785 return _localctx;
35786 }
35787
35788 public static class SelectContext extends ParserRuleContext {
35789 public AggregationClauseContext aggregationClause() {
35790 return getRuleContext(AggregationClauseContext.class,0);
35791 }
35792 public SelectContext(ParserRuleContext parent, int invokingState) {
35793 super(parent, invokingState);
35794 }
35795 @Override public int getRuleIndex() { return RULE_select; }
35796 @Override
35797 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35798 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelect(this);
35799 else return visitor.visitChildren(this);
35800 }
35801 }
35802
35803 public final SelectContext select() throws RecognitionException {
35804 SelectContext _localctx = new SelectContext(_ctx, getState());
35805 enterRule(_localctx, 686, RULE_select);
35806 try {
35807 enterOuterAlt(_localctx, 1);
35808 {
35809 setState(4933);
35810 aggregationClause();
35811 }
35812 }
35813 catch (RecognitionException re) {
35814 _localctx.exception = re;
35815 _errHandler.reportError(this, re);
35816 _errHandler.recover(this, re);
35817 }
35818 finally {
35819 exitRule();
35820 }
35821 return _localctx;
35822 }
35823
35824 public static class AggregationClauseContext extends ParserRuleContext {
35825 public List<SelectClauseContext> selectClause() {
35826 return getRuleContexts(SelectClauseContext.class);
35827 }
35828 public SelectClauseContext selectClause(int i) {
35829 return getRuleContext(SelectClauseContext.class,i);
35830 }
35831 public List<TerminalNode> UNION() { return getTokens(SQLServerStatementParser.UNION); }
35832 public TerminalNode UNION(int i) {
35833 return getToken(SQLServerStatementParser.UNION, i);
35834 }
35835 public List<TerminalNode> EXCEPT() { return getTokens(SQLServerStatementParser.EXCEPT); }
35836 public TerminalNode EXCEPT(int i) {
35837 return getToken(SQLServerStatementParser.EXCEPT, i);
35838 }
35839 public List<TerminalNode> INTERSECT() { return getTokens(SQLServerStatementParser.INTERSECT); }
35840 public TerminalNode INTERSECT(int i) {
35841 return getToken(SQLServerStatementParser.INTERSECT, i);
35842 }
35843 public List<TerminalNode> ALL() { return getTokens(SQLServerStatementParser.ALL); }
35844 public TerminalNode ALL(int i) {
35845 return getToken(SQLServerStatementParser.ALL, i);
35846 }
35847 public AggregationClauseContext(ParserRuleContext parent, int invokingState) {
35848 super(parent, invokingState);
35849 }
35850 @Override public int getRuleIndex() { return RULE_aggregationClause; }
35851 @Override
35852 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35853 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAggregationClause(this);
35854 else return visitor.visitChildren(this);
35855 }
35856 }
35857
35858 public final AggregationClauseContext aggregationClause() throws RecognitionException {
35859 AggregationClauseContext _localctx = new AggregationClauseContext(_ctx, getState());
35860 enterRule(_localctx, 688, RULE_aggregationClause);
35861 int _la;
35862 try {
35863 enterOuterAlt(_localctx, 1);
35864 {
35865 setState(4935);
35866 selectClause();
35867 setState(4947);
35868 _errHandler.sync(this);
35869 _la = _input.LA(1);
35870 while (_la==UNION || _la==EXCEPT || _la==INTERSECT) {
35871 {
35872 {
35873 setState(4942);
35874 _errHandler.sync(this);
35875 switch (_input.LA(1)) {
35876 case UNION:
35877 {
35878 setState(4936);
35879 match(UNION);
35880 setState(4938);
35881 _errHandler.sync(this);
35882 _la = _input.LA(1);
35883 if (_la==ALL) {
35884 {
35885 setState(4937);
35886 match(ALL);
35887 }
35888 }
35889
35890 }
35891 break;
35892 case EXCEPT:
35893 {
35894 setState(4940);
35895 match(EXCEPT);
35896 }
35897 break;
35898 case INTERSECT:
35899 {
35900 setState(4941);
35901 match(INTERSECT);
35902 }
35903 break;
35904 default:
35905 throw new NoViableAltException(this);
35906 }
35907 setState(4944);
35908 selectClause();
35909 }
35910 }
35911 setState(4949);
35912 _errHandler.sync(this);
35913 _la = _input.LA(1);
35914 }
35915 }
35916 }
35917 catch (RecognitionException re) {
35918 _localctx.exception = re;
35919 _errHandler.reportError(this, re);
35920 _errHandler.recover(this, re);
35921 }
35922 finally {
35923 exitRule();
35924 }
35925 return _localctx;
35926 }
35927
35928 public static class SelectClauseContext extends ParserRuleContext {
35929 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
35930 public ProjectionsContext projections() {
35931 return getRuleContext(ProjectionsContext.class,0);
35932 }
35933 public SelectWithClauseContext selectWithClause() {
35934 return getRuleContext(SelectWithClauseContext.class,0);
35935 }
35936 public DuplicateSpecificationContext duplicateSpecification() {
35937 return getRuleContext(DuplicateSpecificationContext.class,0);
35938 }
35939 public FromClauseContext fromClause() {
35940 return getRuleContext(FromClauseContext.class,0);
35941 }
35942 public WhereClauseContext whereClause() {
35943 return getRuleContext(WhereClauseContext.class,0);
35944 }
35945 public GroupByClauseContext groupByClause() {
35946 return getRuleContext(GroupByClauseContext.class,0);
35947 }
35948 public HavingClauseContext havingClause() {
35949 return getRuleContext(HavingClauseContext.class,0);
35950 }
35951 public OrderByClauseContext orderByClause() {
35952 return getRuleContext(OrderByClauseContext.class,0);
35953 }
35954 public ForClauseContext forClause() {
35955 return getRuleContext(ForClauseContext.class,0);
35956 }
35957 public SelectClauseContext(ParserRuleContext parent, int invokingState) {
35958 super(parent, invokingState);
35959 }
35960 @Override public int getRuleIndex() { return RULE_selectClause; }
35961 @Override
35962 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
35963 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelectClause(this);
35964 else return visitor.visitChildren(this);
35965 }
35966 }
35967
35968 public final SelectClauseContext selectClause() throws RecognitionException {
35969 SelectClauseContext _localctx = new SelectClauseContext(_ctx, getState());
35970 enterRule(_localctx, 690, RULE_selectClause);
35971 int _la;
35972 try {
35973 enterOuterAlt(_localctx, 1);
35974 {
35975 setState(4951);
35976 _errHandler.sync(this);
35977 _la = _input.LA(1);
35978 if (_la==WITH) {
35979 {
35980 setState(4950);
35981 selectWithClause();
35982 }
35983 }
35984
35985 setState(4953);
35986 match(SELECT);
35987 setState(4955);
35988 _errHandler.sync(this);
35989 _la = _input.LA(1);
35990 if (_la==DISTINCT || _la==ALL) {
35991 {
35992 setState(4954);
35993 duplicateSpecification();
35994 }
35995 }
35996
35997 setState(4957);
35998 projections();
35999 setState(4959);
36000 _errHandler.sync(this);
36001 _la = _input.LA(1);
36002 if (_la==FROM) {
36003 {
36004 setState(4958);
36005 fromClause();
36006 }
36007 }
36008
36009 setState(4962);
36010 _errHandler.sync(this);
36011 _la = _input.LA(1);
36012 if (_la==WHERE) {
36013 {
36014 setState(4961);
36015 whereClause();
36016 }
36017 }
36018
36019 setState(4965);
36020 _errHandler.sync(this);
36021 _la = _input.LA(1);
36022 if (_la==GROUP) {
36023 {
36024 setState(4964);
36025 groupByClause();
36026 }
36027 }
36028
36029 setState(4968);
36030 _errHandler.sync(this);
36031 _la = _input.LA(1);
36032 if (_la==HAVING) {
36033 {
36034 setState(4967);
36035 havingClause();
36036 }
36037 }
36038
36039 setState(4971);
36040 _errHandler.sync(this);
36041 _la = _input.LA(1);
36042 if (_la==ORDER) {
36043 {
36044 setState(4970);
36045 orderByClause();
36046 }
36047 }
36048
36049 setState(4974);
36050 _errHandler.sync(this);
36051 switch ( getInterpreter().adaptivePredict(_input,553,_ctx) ) {
36052 case 1:
36053 {
36054 setState(4973);
36055 forClause();
36056 }
36057 break;
36058 }
36059 }
36060 }
36061 catch (RecognitionException re) {
36062 _localctx.exception = re;
36063 _errHandler.reportError(this, re);
36064 _errHandler.recover(this, re);
36065 }
36066 finally {
36067 exitRule();
36068 }
36069 return _localctx;
36070 }
36071
36072 public static class DuplicateSpecificationContext extends ParserRuleContext {
36073 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
36074 public TerminalNode DISTINCT() { return getToken(SQLServerStatementParser.DISTINCT, 0); }
36075 public DuplicateSpecificationContext(ParserRuleContext parent, int invokingState) {
36076 super(parent, invokingState);
36077 }
36078 @Override public int getRuleIndex() { return RULE_duplicateSpecification; }
36079 @Override
36080 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36081 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDuplicateSpecification(this);
36082 else return visitor.visitChildren(this);
36083 }
36084 }
36085
36086 public final DuplicateSpecificationContext duplicateSpecification() throws RecognitionException {
36087 DuplicateSpecificationContext _localctx = new DuplicateSpecificationContext(_ctx, getState());
36088 enterRule(_localctx, 692, RULE_duplicateSpecification);
36089 int _la;
36090 try {
36091 enterOuterAlt(_localctx, 1);
36092 {
36093 setState(4976);
36094 _la = _input.LA(1);
36095 if ( !(_la==DISTINCT || _la==ALL) ) {
36096 _errHandler.recoverInline(this);
36097 }
36098 else {
36099 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
36100 _errHandler.reportMatch(this);
36101 consume();
36102 }
36103 }
36104 }
36105 catch (RecognitionException re) {
36106 _localctx.exception = re;
36107 _errHandler.reportError(this, re);
36108 _errHandler.recover(this, re);
36109 }
36110 finally {
36111 exitRule();
36112 }
36113 return _localctx;
36114 }
36115
36116 public static class ProjectionsContext extends ParserRuleContext {
36117 public UnqualifiedShorthandContext unqualifiedShorthand() {
36118 return getRuleContext(UnqualifiedShorthandContext.class,0);
36119 }
36120 public List<ProjectionContext> projection() {
36121 return getRuleContexts(ProjectionContext.class);
36122 }
36123 public ProjectionContext projection(int i) {
36124 return getRuleContext(ProjectionContext.class,i);
36125 }
36126 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36127 public TerminalNode COMMA_(int i) {
36128 return getToken(SQLServerStatementParser.COMMA_, i);
36129 }
36130 public ProjectionsContext(ParserRuleContext parent, int invokingState) {
36131 super(parent, invokingState);
36132 }
36133 @Override public int getRuleIndex() { return RULE_projections; }
36134 @Override
36135 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36136 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProjections(this);
36137 else return visitor.visitChildren(this);
36138 }
36139 }
36140
36141 public final ProjectionsContext projections() throws RecognitionException {
36142 ProjectionsContext _localctx = new ProjectionsContext(_ctx, getState());
36143 enterRule(_localctx, 694, RULE_projections);
36144 int _la;
36145 try {
36146 enterOuterAlt(_localctx, 1);
36147 {
36148 setState(4980);
36149 _errHandler.sync(this);
36150 switch (_input.LA(1)) {
36151 case ASTERISK_:
36152 {
36153 setState(4978);
36154 unqualifiedShorthand();
36155 }
36156 break;
36157 case NOT_:
36158 case TILDE_:
36159 case PLUS_:
36160 case MINUS_:
36161 case LP_:
36162 case LBE_:
36163 case QUESTION_:
36164 case DOLLAR_:
36165 case TRUNCATE:
36166 case SCHEMA:
36167 case FUNCTION:
36168 case TRIGGER:
36169 case CASE:
36170 case CAST:
36171 case IF:
36172 case NOT:
36173 case NULL:
36174 case TRUE:
36175 case FALSE:
36176 case EXISTS:
36177 case GROUP:
36178 case LIMIT:
36179 case OFFSET:
36180 case SAVEPOINT:
36181 case BOOLEAN:
36182 case CHAR:
36183 case ARRAY:
36184 case INTERVAL:
36185 case DATE:
36186 case TIME:
36187 case TIMESTAMP:
36188 case LOCALTIME:
36189 case LOCALTIMESTAMP:
36190 case QUARTER:
36191 case WEEK:
36192 case DAY:
36193 case MICROSECOND:
36194 case MAX:
36195 case MIN:
36196 case SUM:
36197 case COUNT:
36198 case AVG:
36199 case ENABLE:
36200 case DISABLE:
36201 case INSTANCE:
36202 case DO:
36203 case DEFINER:
36204 case SQL:
36205 case CASCADED:
36206 case LOCAL:
36207 case NEXT:
36208 case NAME:
36209 case INTEGER:
36210 case TYPE:
36211 case READ_ONLY:
36212 case DATABASE:
36213 case DATEPART:
36214 case PASSWORD:
36215 case BINARY:
36216 case HIDDEN_:
36217 case MOD:
36218 case PARTITION:
36219 case PARTITIONS:
36220 case TOP:
36221 case ROW:
36222 case ROWS:
36223 case XOR:
36224 case ALWAYS:
36225 case ROLE:
36226 case START:
36227 case ALGORITHM:
36228 case AUTO:
36229 case BLOCKERS:
36230 case CLUSTERED:
36231 case NONCLUSTERED:
36232 case COLUMNSTORE:
36233 case CONTENT:
36234 case CONVERT:
36235 case YEARS:
36236 case MONTHS:
36237 case WEEKS:
36238 case DAYS:
36239 case MINUTES:
36240 case DENY:
36241 case DETERMINISTIC:
36242 case DISTRIBUTION:
36243 case DOCUMENT:
36244 case DURABILITY:
36245 case ENCRYPTED:
36246 case FILESTREAM:
36247 case FILETABLE:
36248 case FILLFACTOR:
36249 case FOLLOWING:
36250 case HASH:
36251 case HEAP:
36252 case INBOUND:
36253 case OUTBOUND:
36254 case UNBOUNDED:
36255 case INFINITE:
36256 case LOGIN:
36257 case MASKED:
36258 case MAXDOP:
36259 case MOVE:
36260 case NOCHECK:
36261 case OBJECT:
36262 case OFF:
36263 case ONLINE:
36264 case OVER:
36265 case PAGE:
36266 case PAUSED:
36267 case PERIOD:
36268 case PERSISTED:
36269 case PRECEDING:
36270 case RANDOMIZED:
36271 case RANGE:
36272 case REBUILD:
36273 case REPLICATE:
36274 case REPLICATION:
36275 case RESUMABLE:
36276 case ROWGUIDCOL:
36277 case SAVE:
36278 case SELF:
36279 case SPARSE:
36280 case SWITCH:
36281 case TRAN:
36282 case TRANCOUNT:
36283 case CONTROL:
36284 case CONCAT:
36285 case TAKE:
36286 case OWNERSHIP:
36287 case DEFINITION:
36288 case APPLICATION:
36289 case ASSEMBLY:
36290 case SYMMETRIC:
36291 case ASYMMETRIC:
36292 case SERVER:
36293 case RECEIVE:
36294 case CHANGE:
36295 case TRACE:
36296 case TRACKING:
36297 case RESOURCES:
36298 case SETTINGS:
36299 case STATE:
36300 case AVAILABILITY:
36301 case CREDENTIAL:
36302 case ENDPOINT:
36303 case EVENT:
36304 case NOTIFICATION:
36305 case LINKED:
36306 case AUDIT:
36307 case DDL:
36308 case XML:
36309 case IMPERSONATE:
36310 case SECURABLES:
36311 case AUTHENTICATE:
36312 case EXTERNAL:
36313 case ACCESS:
36314 case ADMINISTER:
36315 case BULK:
36316 case OPERATIONS:
36317 case UNSAFE:
36318 case SHUTDOWN:
36319 case SCOPED:
36320 case CONFIGURATION:
36321 case DATASPACE:
36322 case SERVICE:
36323 case CERTIFICATE:
36324 case CONTRACT:
36325 case ENCRYPTION:
36326 case MASTER:
36327 case DATA:
36328 case SOURCE:
36329 case FILE:
36330 case FORMAT:
36331 case LIBRARY:
36332 case FULLTEXT:
36333 case MASK:
36334 case UNMASK:
36335 case MESSAGE:
36336 case REMOTE:
36337 case BINDING:
36338 case ROUTE:
36339 case SECURITY:
36340 case POLICY:
36341 case AGGREGATE:
36342 case QUEUE:
36343 case RULE:
36344 case SYNONYM:
36345 case COLLECTION:
36346 case SCRIPT:
36347 case KILL:
36348 case BACKUP:
36349 case LOG:
36350 case SHOWPLAN:
36351 case SUBSCRIBE:
36352 case QUERY:
36353 case NOTIFICATIONS:
36354 case CHECKPOINT:
36355 case SEQUENCE:
36356 case ABORT_AFTER_WAIT:
36357 case ALLOW_PAGE_LOCKS:
36358 case ALLOW_ROW_LOCKS:
36359 case ALL_SPARSE_COLUMNS:
36360 case BUCKET_COUNT:
36361 case COLUMNSTORE_ARCHIVE:
36362 case COLUMN_ENCRYPTION_KEY:
36363 case COLUMN_SET:
36364 case COMPRESSION_DELAY:
36365 case DATABASE_DEAULT:
36366 case DATA_COMPRESSION:
36367 case DATA_CONSISTENCY_CHECK:
36368 case ENCRYPTION_TYPE:
36369 case SYSTEM_TIME:
36370 case SYSTEM_VERSIONING:
36371 case TEXTIMAGE_ON:
36372 case WAIT_AT_LOW_PRIORITY:
36373 case STATISTICS_INCREMENTAL:
36374 case STATISTICS_NORECOMPUTE:
36375 case ROUND_ROBIN:
36376 case SCHEMA_AND_DATA:
36377 case SCHEMA_ONLY:
36378 case SORT_IN_TEMPDB:
36379 case IGNORE_DUP_KEY:
36380 case IMPLICIT_TRANSACTIONS:
36381 case MAX_DURATION:
36382 case MEMORY_OPTIMIZED:
36383 case MIGRATION_STATE:
36384 case PAD_INDEX:
36385 case REMOTE_DATA_ARCHIVE:
36386 case FILESTREAM_ON:
36387 case FILETABLE_COLLATE_FILENAME:
36388 case FILETABLE_DIRECTORY:
36389 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
36390 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
36391 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
36392 case FILTER_PREDICATE:
36393 case HISTORY_RETENTION_PERIOD:
36394 case HISTORY_TABLE:
36395 case LOCK_ESCALATION:
36396 case DROP_EXISTING:
36397 case ROW_NUMBER:
36398 case FIRST:
36399 case DATETIME2:
36400 case OUTPUT:
36401 case INSERTED:
36402 case DELETED:
36403 case FILENAME:
36404 case MAXSIZE:
36405 case FILEGROWTH:
36406 case UNLIMITED:
36407 case KB:
36408 case MB:
36409 case GB:
36410 case TB:
36411 case MEMORY_OPTIMIZED_DATA:
36412 case FILEGROUP:
36413 case NON_TRANSACTED_ACCESS:
36414 case DB_CHAINING:
36415 case TRUSTWORTHY:
36416 case FORWARD_ONLY:
36417 case KEYSET:
36418 case FAST_FORWARD:
36419 case SCROLL_LOCKS:
36420 case OPTIMISTIC:
36421 case TYPE_WARNING:
36422 case SCHEMABINDING:
36423 case CALLER:
36424 case OWNER:
36425 case SNAPSHOT:
36426 case REPEATABLE:
36427 case SERIALIZABLE:
36428 case NATIVE_COMPILATION:
36429 case VIEW_METADATA:
36430 case INSTEAD:
36431 case APPEND:
36432 case INCREMENT:
36433 case CACHE:
36434 case MINVALUE:
36435 case MAXVALUE:
36436 case RESTART:
36437 case LOB_COMPACTION:
36438 case COMPRESS_ALL_ROW_GROUPS:
36439 case REORGANIZE:
36440 case RESUME:
36441 case PAUSE:
36442 case ABORT:
36443 case ACCELERATED_DATABASE_RECOVERY:
36444 case PERSISTENT_VERSION_STORE_FILEGROUP:
36445 case IMMEDIATE:
36446 case NO_WAIT:
36447 case TARGET_RECOVERY_TIME:
36448 case SECONDS:
36449 case HONOR_BROKER_PRIORITY:
36450 case ERROR_BROKER_CONVERSATIONS:
36451 case NEW_BROKER:
36452 case DISABLE_BROKER:
36453 case ENABLE_BROKER:
36454 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
36455 case READ_COMMITTED_SNAPSHOT:
36456 case ALLOW_SNAPSHOT_ISOLATION:
36457 case RECURSIVE_TRIGGERS:
36458 case QUOTED_IDENTIFIER:
36459 case NUMERIC_ROUNDABORT:
36460 case CONCAT_NULL_YIELDS_NULL:
36461 case COMPATIBILITY_LEVEL:
36462 case ARITHABORT:
36463 case ANSI_WARNINGS:
36464 case ANSI_PADDING:
36465 case ANSI_NULLS:
36466 case ANSI_NULL_DEFAULT:
36467 case PAGE_VERIFY:
36468 case CHECKSUM:
36469 case TORN_PAGE_DETECTION:
36470 case BULK_LOGGED:
36471 case RECOVERY:
36472 case TOTAL_EXECUTION_CPU_TIME_MS:
36473 case TOTAL_COMPILE_CPU_TIME_MS:
36474 case STALE_CAPTURE_POLICY_THRESHOLD:
36475 case EXECUTION_COUNT:
36476 case QUERY_CAPTURE_POLICY:
36477 case WAIT_STATS_CAPTURE_MODE:
36478 case MAX_PLANS_PER_QUERY:
36479 case QUERY_CAPTURE_MODE:
36480 case SIZE_BASED_CLEANUP_MODE:
36481 case INTERVAL_LENGTH_MINUTES:
36482 case MAX_STORAGE_SIZE_MB:
36483 case DATA_FLUSH_INTERVAL_SECONDS:
36484 case CLEANUP_POLICY:
36485 case CUSTOM:
36486 case STALE_QUERY_THRESHOLD_DAYS:
36487 case OPERATION_MODE:
36488 case QUERY_STORE:
36489 case CURSOR_DEFAULT:
36490 case GLOBAL:
36491 case CURSOR_CLOSE_ON_COMMIT:
36492 case HOURS:
36493 case CHANGE_RETENTION:
36494 case AUTO_CLEANUP:
36495 case CHANGE_TRACKING:
36496 case AUTOMATIC_TUNING:
36497 case FORCE_LAST_GOOD_PLAN:
36498 case AUTO_UPDATE_STATISTICS_ASYNC:
36499 case AUTO_UPDATE_STATISTICS:
36500 case AUTO_SHRINK:
36501 case AUTO_CREATE_STATISTICS:
36502 case INCREMENTAL:
36503 case AUTO_CLOSE:
36504 case DATA_RETENTION:
36505 case TEMPORAL_HISTORY_RETENTION:
36506 case EDITION:
36507 case MIXED_PAGE_ALLOCATION:
36508 case DISABLED:
36509 case ALLOWED:
36510 case HADR:
36511 case MULTI_USER:
36512 case RESTRICTED_USER:
36513 case SINGLE_USER:
36514 case OFFLINE:
36515 case EMERGENCY:
36516 case SUSPEND:
36517 case DATE_CORRELATION_OPTIMIZATION:
36518 case ELASTIC_POOL:
36519 case SERVICE_OBJECTIVE:
36520 case DATABASE_NAME:
36521 case ALLOW_CONNECTIONS:
36522 case GEO:
36523 case NAMED:
36524 case DATEFIRST:
36525 case BACKUP_STORAGE_REDUNDANCY:
36526 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
36527 case SECONDARY:
36528 case FAILOVER:
36529 case DEFAULT_FULLTEXT_LANGUAGE:
36530 case DEFAULT_LANGUAGE:
36531 case INLINE:
36532 case NESTED_TRIGGERS:
36533 case TRANSFORM_NOISE_WORDS:
36534 case TWO_DIGIT_YEAR_CUTOFF:
36535 case PERSISTENT_LOG_BUFFER:
36536 case DIRECTORY_NAME:
36537 case DATEFORMAT:
36538 case DELAYED_DURABILITY:
36539 case AUTHORIZATION:
36540 case TRANSFER:
36541 case SEARCH:
36542 case MEMBER:
36543 case IDENTIFIER_:
36544 case DELIMITED_IDENTIFIER_:
36545 case STRING_:
36546 case NUMBER_:
36547 case HEX_DIGIT_:
36548 case BIT_NUM_:
36549 case NCHAR_TEXT:
36550 {
36551 setState(4979);
36552 projection();
36553 }
36554 break;
36555 default:
36556 throw new NoViableAltException(this);
36557 }
36558 setState(4986);
36559 _errHandler.sync(this);
36560 _la = _input.LA(1);
36561 while (_la==COMMA_) {
36562 {
36563 {
36564 setState(4982);
36565 match(COMMA_);
36566 setState(4983);
36567 projection();
36568 }
36569 }
36570 setState(4988);
36571 _errHandler.sync(this);
36572 _la = _input.LA(1);
36573 }
36574 }
36575 }
36576 catch (RecognitionException re) {
36577 _localctx.exception = re;
36578 _errHandler.reportError(this, re);
36579 _errHandler.recover(this, re);
36580 }
36581 finally {
36582 exitRule();
36583 }
36584 return _localctx;
36585 }
36586
36587 public static class ProjectionContext extends ParserRuleContext {
36588 public TopContext top() {
36589 return getRuleContext(TopContext.class,0);
36590 }
36591 public ColumnNameContext columnName() {
36592 return getRuleContext(ColumnNameContext.class,0);
36593 }
36594 public ExprContext expr() {
36595 return getRuleContext(ExprContext.class,0);
36596 }
36597 public AliasContext alias() {
36598 return getRuleContext(AliasContext.class,0);
36599 }
36600 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
36601 public QualifiedShorthandContext qualifiedShorthand() {
36602 return getRuleContext(QualifiedShorthandContext.class,0);
36603 }
36604 public ProjectionContext(ParserRuleContext parent, int invokingState) {
36605 super(parent, invokingState);
36606 }
36607 @Override public int getRuleIndex() { return RULE_projection; }
36608 @Override
36609 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36610 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitProjection(this);
36611 else return visitor.visitChildren(this);
36612 }
36613 }
36614
36615 public final ProjectionContext projection() throws RecognitionException {
36616 ProjectionContext _localctx = new ProjectionContext(_ctx, getState());
36617 enterRule(_localctx, 696, RULE_projection);
36618 int _la;
36619 try {
36620 setState(5001);
36621 _errHandler.sync(this);
36622 switch ( getInterpreter().adaptivePredict(_input,559,_ctx) ) {
36623 case 1:
36624 enterOuterAlt(_localctx, 1);
36625 {
36626 setState(4992);
36627 _errHandler.sync(this);
36628 switch ( getInterpreter().adaptivePredict(_input,556,_ctx) ) {
36629 case 1:
36630 {
36631 setState(4989);
36632 top();
36633 }
36634 break;
36635 case 2:
36636 {
36637 setState(4990);
36638 columnName();
36639 }
36640 break;
36641 case 3:
36642 {
36643 setState(4991);
36644 expr(0);
36645 }
36646 break;
36647 }
36648 setState(4998);
36649 _errHandler.sync(this);
36650 switch ( getInterpreter().adaptivePredict(_input,558,_ctx) ) {
36651 case 1:
36652 {
36653 setState(4995);
36654 _errHandler.sync(this);
36655 _la = _input.LA(1);
36656 if (_la==AS) {
36657 {
36658 setState(4994);
36659 match(AS);
36660 }
36661 }
36662
36663 setState(4997);
36664 alias();
36665 }
36666 break;
36667 }
36668 }
36669 break;
36670 case 2:
36671 enterOuterAlt(_localctx, 2);
36672 {
36673 setState(5000);
36674 qualifiedShorthand();
36675 }
36676 break;
36677 }
36678 }
36679 catch (RecognitionException re) {
36680 _localctx.exception = re;
36681 _errHandler.reportError(this, re);
36682 _errHandler.recover(this, re);
36683 }
36684 finally {
36685 exitRule();
36686 }
36687 return _localctx;
36688 }
36689
36690 public static class TopContext extends ParserRuleContext {
36691 public TerminalNode TOP() { return getToken(SQLServerStatementParser.TOP, 0); }
36692 public TopNumContext topNum() {
36693 return getRuleContext(TopNumContext.class,0);
36694 }
36695 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
36696 public TerminalNode LP_(int i) {
36697 return getToken(SQLServerStatementParser.LP_, i);
36698 }
36699 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
36700 public TerminalNode RP_(int i) {
36701 return getToken(SQLServerStatementParser.RP_, i);
36702 }
36703 public TerminalNode PERCENT() { return getToken(SQLServerStatementParser.PERCENT, 0); }
36704 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
36705 public TerminalNode TIES() { return getToken(SQLServerStatementParser.TIES, 0); }
36706 public TerminalNode ROW_NUMBER() { return getToken(SQLServerStatementParser.ROW_NUMBER, 0); }
36707 public TerminalNode OVER() { return getToken(SQLServerStatementParser.OVER, 0); }
36708 public OrderByClauseContext orderByClause() {
36709 return getRuleContext(OrderByClauseContext.class,0);
36710 }
36711 public TopContext(ParserRuleContext parent, int invokingState) {
36712 super(parent, invokingState);
36713 }
36714 @Override public int getRuleIndex() { return RULE_top; }
36715 @Override
36716 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36717 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTop(this);
36718 else return visitor.visitChildren(this);
36719 }
36720 }
36721
36722 public final TopContext top() throws RecognitionException {
36723 TopContext _localctx = new TopContext(_ctx, getState());
36724 enterRule(_localctx, 698, RULE_top);
36725 int _la;
36726 try {
36727 enterOuterAlt(_localctx, 1);
36728 {
36729 setState(5003);
36730 match(TOP);
36731 setState(5005);
36732 _errHandler.sync(this);
36733 _la = _input.LA(1);
36734 if (_la==LP_) {
36735 {
36736 setState(5004);
36737 match(LP_);
36738 }
36739 }
36740
36741 setState(5007);
36742 topNum();
36743 setState(5009);
36744 _errHandler.sync(this);
36745 switch ( getInterpreter().adaptivePredict(_input,561,_ctx) ) {
36746 case 1:
36747 {
36748 setState(5008);
36749 match(RP_);
36750 }
36751 break;
36752 }
36753 setState(5012);
36754 _errHandler.sync(this);
36755 _la = _input.LA(1);
36756 if (_la==PERCENT) {
36757 {
36758 setState(5011);
36759 match(PERCENT);
36760 }
36761 }
36762
36763 setState(5016);
36764 _errHandler.sync(this);
36765 switch ( getInterpreter().adaptivePredict(_input,563,_ctx) ) {
36766 case 1:
36767 {
36768 setState(5014);
36769 match(WITH);
36770 setState(5015);
36771 match(TIES);
36772 }
36773 break;
36774 }
36775 setState(5026);
36776 _errHandler.sync(this);
36777 switch ( getInterpreter().adaptivePredict(_input,564,_ctx) ) {
36778 case 1:
36779 {
36780 setState(5018);
36781 match(ROW_NUMBER);
36782 setState(5019);
36783 match(LP_);
36784 setState(5020);
36785 match(RP_);
36786 setState(5021);
36787 match(OVER);
36788 setState(5022);
36789 match(LP_);
36790 setState(5023);
36791 orderByClause();
36792 setState(5024);
36793 match(RP_);
36794 }
36795 break;
36796 }
36797 }
36798 }
36799 catch (RecognitionException re) {
36800 _localctx.exception = re;
36801 _errHandler.reportError(this, re);
36802 _errHandler.recover(this, re);
36803 }
36804 finally {
36805 exitRule();
36806 }
36807 return _localctx;
36808 }
36809
36810 public static class TopNumContext extends ParserRuleContext {
36811 public NumberLiteralsContext numberLiterals() {
36812 return getRuleContext(NumberLiteralsContext.class,0);
36813 }
36814 public ParameterMarkerContext parameterMarker() {
36815 return getRuleContext(ParameterMarkerContext.class,0);
36816 }
36817 public TopNumContext(ParserRuleContext parent, int invokingState) {
36818 super(parent, invokingState);
36819 }
36820 @Override public int getRuleIndex() { return RULE_topNum; }
36821 @Override
36822 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36823 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTopNum(this);
36824 else return visitor.visitChildren(this);
36825 }
36826 }
36827
36828 public final TopNumContext topNum() throws RecognitionException {
36829 TopNumContext _localctx = new TopNumContext(_ctx, getState());
36830 enterRule(_localctx, 700, RULE_topNum);
36831 try {
36832 setState(5030);
36833 _errHandler.sync(this);
36834 switch (_input.LA(1)) {
36835 case PLUS_:
36836 case MINUS_:
36837 case NUMBER_:
36838 enterOuterAlt(_localctx, 1);
36839 {
36840 setState(5028);
36841 numberLiterals();
36842 }
36843 break;
36844 case QUESTION_:
36845 enterOuterAlt(_localctx, 2);
36846 {
36847 setState(5029);
36848 parameterMarker();
36849 }
36850 break;
36851 default:
36852 throw new NoViableAltException(this);
36853 }
36854 }
36855 catch (RecognitionException re) {
36856 _localctx.exception = re;
36857 _errHandler.reportError(this, re);
36858 _errHandler.recover(this, re);
36859 }
36860 finally {
36861 exitRule();
36862 }
36863 return _localctx;
36864 }
36865
36866 public static class UnqualifiedShorthandContext extends ParserRuleContext {
36867 public TerminalNode ASTERISK_() { return getToken(SQLServerStatementParser.ASTERISK_, 0); }
36868 public UnqualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
36869 super(parent, invokingState);
36870 }
36871 @Override public int getRuleIndex() { return RULE_unqualifiedShorthand; }
36872 @Override
36873 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36874 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUnqualifiedShorthand(this);
36875 else return visitor.visitChildren(this);
36876 }
36877 }
36878
36879 public final UnqualifiedShorthandContext unqualifiedShorthand() throws RecognitionException {
36880 UnqualifiedShorthandContext _localctx = new UnqualifiedShorthandContext(_ctx, getState());
36881 enterRule(_localctx, 702, RULE_unqualifiedShorthand);
36882 try {
36883 enterOuterAlt(_localctx, 1);
36884 {
36885 setState(5032);
36886 match(ASTERISK_);
36887 }
36888 }
36889 catch (RecognitionException re) {
36890 _localctx.exception = re;
36891 _errHandler.reportError(this, re);
36892 _errHandler.recover(this, re);
36893 }
36894 finally {
36895 exitRule();
36896 }
36897 return _localctx;
36898 }
36899
36900 public static class QualifiedShorthandContext extends ParserRuleContext {
36901 public IdentifierContext identifier() {
36902 return getRuleContext(IdentifierContext.class,0);
36903 }
36904 public TerminalNode DOT_ASTERISK_() { return getToken(SQLServerStatementParser.DOT_ASTERISK_, 0); }
36905 public QualifiedShorthandContext(ParserRuleContext parent, int invokingState) {
36906 super(parent, invokingState);
36907 }
36908 @Override public int getRuleIndex() { return RULE_qualifiedShorthand; }
36909 @Override
36910 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36911 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQualifiedShorthand(this);
36912 else return visitor.visitChildren(this);
36913 }
36914 }
36915
36916 public final QualifiedShorthandContext qualifiedShorthand() throws RecognitionException {
36917 QualifiedShorthandContext _localctx = new QualifiedShorthandContext(_ctx, getState());
36918 enterRule(_localctx, 704, RULE_qualifiedShorthand);
36919 try {
36920 enterOuterAlt(_localctx, 1);
36921 {
36922 setState(5034);
36923 identifier();
36924 setState(5035);
36925 match(DOT_ASTERISK_);
36926 }
36927 }
36928 catch (RecognitionException re) {
36929 _localctx.exception = re;
36930 _errHandler.reportError(this, re);
36931 _errHandler.recover(this, re);
36932 }
36933 finally {
36934 exitRule();
36935 }
36936 return _localctx;
36937 }
36938
36939 public static class FromClauseContext extends ParserRuleContext {
36940 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
36941 public TableReferencesContext tableReferences() {
36942 return getRuleContext(TableReferencesContext.class,0);
36943 }
36944 public FromClauseContext(ParserRuleContext parent, int invokingState) {
36945 super(parent, invokingState);
36946 }
36947 @Override public int getRuleIndex() { return RULE_fromClause; }
36948 @Override
36949 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36950 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFromClause(this);
36951 else return visitor.visitChildren(this);
36952 }
36953 }
36954
36955 public final FromClauseContext fromClause() throws RecognitionException {
36956 FromClauseContext _localctx = new FromClauseContext(_ctx, getState());
36957 enterRule(_localctx, 706, RULE_fromClause);
36958 try {
36959 enterOuterAlt(_localctx, 1);
36960 {
36961 setState(5037);
36962 match(FROM);
36963 setState(5038);
36964 tableReferences();
36965 }
36966 }
36967 catch (RecognitionException re) {
36968 _localctx.exception = re;
36969 _errHandler.reportError(this, re);
36970 _errHandler.recover(this, re);
36971 }
36972 finally {
36973 exitRule();
36974 }
36975 return _localctx;
36976 }
36977
36978 public static class TableReferencesContext extends ParserRuleContext {
36979 public List<TableReferenceContext> tableReference() {
36980 return getRuleContexts(TableReferenceContext.class);
36981 }
36982 public TableReferenceContext tableReference(int i) {
36983 return getRuleContext(TableReferenceContext.class,i);
36984 }
36985 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
36986 public TerminalNode COMMA_(int i) {
36987 return getToken(SQLServerStatementParser.COMMA_, i);
36988 }
36989 public TableReferencesContext(ParserRuleContext parent, int invokingState) {
36990 super(parent, invokingState);
36991 }
36992 @Override public int getRuleIndex() { return RULE_tableReferences; }
36993 @Override
36994 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
36995 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableReferences(this);
36996 else return visitor.visitChildren(this);
36997 }
36998 }
36999
37000 public final TableReferencesContext tableReferences() throws RecognitionException {
37001 TableReferencesContext _localctx = new TableReferencesContext(_ctx, getState());
37002 enterRule(_localctx, 708, RULE_tableReferences);
37003 int _la;
37004 try {
37005 enterOuterAlt(_localctx, 1);
37006 {
37007 setState(5040);
37008 tableReference();
37009 setState(5045);
37010 _errHandler.sync(this);
37011 _la = _input.LA(1);
37012 while (_la==COMMA_) {
37013 {
37014 {
37015 setState(5041);
37016 match(COMMA_);
37017 setState(5042);
37018 tableReference();
37019 }
37020 }
37021 setState(5047);
37022 _errHandler.sync(this);
37023 _la = _input.LA(1);
37024 }
37025 }
37026 }
37027 catch (RecognitionException re) {
37028 _localctx.exception = re;
37029 _errHandler.reportError(this, re);
37030 _errHandler.recover(this, re);
37031 }
37032 finally {
37033 exitRule();
37034 }
37035 return _localctx;
37036 }
37037
37038 public static class TableReferenceContext extends ParserRuleContext {
37039 public TableFactorContext tableFactor() {
37040 return getRuleContext(TableFactorContext.class,0);
37041 }
37042 public List<JoinedTableContext> joinedTable() {
37043 return getRuleContexts(JoinedTableContext.class);
37044 }
37045 public JoinedTableContext joinedTable(int i) {
37046 return getRuleContext(JoinedTableContext.class,i);
37047 }
37048 public TableReferenceContext(ParserRuleContext parent, int invokingState) {
37049 super(parent, invokingState);
37050 }
37051 @Override public int getRuleIndex() { return RULE_tableReference; }
37052 @Override
37053 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37054 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableReference(this);
37055 else return visitor.visitChildren(this);
37056 }
37057 }
37058
37059 public final TableReferenceContext tableReference() throws RecognitionException {
37060 TableReferenceContext _localctx = new TableReferenceContext(_ctx, getState());
37061 enterRule(_localctx, 710, RULE_tableReference);
37062 int _la;
37063 try {
37064 enterOuterAlt(_localctx, 1);
37065 {
37066 setState(5048);
37067 tableFactor();
37068 setState(5052);
37069 _errHandler.sync(this);
37070 _la = _input.LA(1);
37071 while (((((_la - 85)) & ~0x3f) == 0 && ((1L << (_la - 85)) & ((1L << (NATURAL - 85)) | (1L << (JOIN - 85)) | (1L << (FULL - 85)) | (1L << (INNER - 85)) | (1L << (LEFT - 85)) | (1L << (RIGHT - 85)) | (1L << (CROSS - 85)))) != 0)) {
37072 {
37073 {
37074 setState(5049);
37075 joinedTable();
37076 }
37077 }
37078 setState(5054);
37079 _errHandler.sync(this);
37080 _la = _input.LA(1);
37081 }
37082 }
37083 }
37084 catch (RecognitionException re) {
37085 _localctx.exception = re;
37086 _errHandler.reportError(this, re);
37087 _errHandler.recover(this, re);
37088 }
37089 finally {
37090 exitRule();
37091 }
37092 return _localctx;
37093 }
37094
37095 public static class TableFactorContext extends ParserRuleContext {
37096 public TableNameContext tableName() {
37097 return getRuleContext(TableNameContext.class,0);
37098 }
37099 public AliasContext alias() {
37100 return getRuleContext(AliasContext.class,0);
37101 }
37102 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
37103 public SubqueryContext subquery() {
37104 return getRuleContext(SubqueryContext.class,0);
37105 }
37106 public ColumnNamesContext columnNames() {
37107 return getRuleContext(ColumnNamesContext.class,0);
37108 }
37109 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
37110 public TableReferencesContext tableReferences() {
37111 return getRuleContext(TableReferencesContext.class,0);
37112 }
37113 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
37114 public TableFactorContext(ParserRuleContext parent, int invokingState) {
37115 super(parent, invokingState);
37116 }
37117 @Override public int getRuleIndex() { return RULE_tableFactor; }
37118 @Override
37119 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37120 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTableFactor(this);
37121 else return visitor.visitChildren(this);
37122 }
37123 }
37124
37125 public final TableFactorContext tableFactor() throws RecognitionException {
37126 TableFactorContext _localctx = new TableFactorContext(_ctx, getState());
37127 enterRule(_localctx, 712, RULE_tableFactor);
37128 int _la;
37129 try {
37130 setState(5074);
37131 _errHandler.sync(this);
37132 switch ( getInterpreter().adaptivePredict(_input,572,_ctx) ) {
37133 case 1:
37134 enterOuterAlt(_localctx, 1);
37135 {
37136 setState(5055);
37137 tableName();
37138 setState(5060);
37139 _errHandler.sync(this);
37140 switch ( getInterpreter().adaptivePredict(_input,569,_ctx) ) {
37141 case 1:
37142 {
37143 setState(5057);
37144 _errHandler.sync(this);
37145 _la = _input.LA(1);
37146 if (_la==AS) {
37147 {
37148 setState(5056);
37149 match(AS);
37150 }
37151 }
37152
37153 setState(5059);
37154 alias();
37155 }
37156 break;
37157 }
37158 }
37159 break;
37160 case 2:
37161 enterOuterAlt(_localctx, 2);
37162 {
37163 setState(5062);
37164 subquery();
37165 setState(5064);
37166 _errHandler.sync(this);
37167 _la = _input.LA(1);
37168 if (_la==AS) {
37169 {
37170 setState(5063);
37171 match(AS);
37172 }
37173 }
37174
37175 setState(5066);
37176 alias();
37177 setState(5068);
37178 _errHandler.sync(this);
37179 _la = _input.LA(1);
37180 if (_la==LP_) {
37181 {
37182 setState(5067);
37183 columnNames();
37184 }
37185 }
37186
37187 }
37188 break;
37189 case 3:
37190 enterOuterAlt(_localctx, 3);
37191 {
37192 setState(5070);
37193 match(LP_);
37194 setState(5071);
37195 tableReferences();
37196 setState(5072);
37197 match(RP_);
37198 }
37199 break;
37200 }
37201 }
37202 catch (RecognitionException re) {
37203 _localctx.exception = re;
37204 _errHandler.reportError(this, re);
37205 _errHandler.recover(this, re);
37206 }
37207 finally {
37208 exitRule();
37209 }
37210 return _localctx;
37211 }
37212
37213 public static class JoinedTableContext extends ParserRuleContext {
37214 public TableFactorContext tableFactor() {
37215 return getRuleContext(TableFactorContext.class,0);
37216 }
37217 public TerminalNode JOIN() { return getToken(SQLServerStatementParser.JOIN, 0); }
37218 public TerminalNode NATURAL() { return getToken(SQLServerStatementParser.NATURAL, 0); }
37219 public JoinSpecificationContext joinSpecification() {
37220 return getRuleContext(JoinSpecificationContext.class,0);
37221 }
37222 public TerminalNode INNER() { return getToken(SQLServerStatementParser.INNER, 0); }
37223 public TerminalNode CROSS() { return getToken(SQLServerStatementParser.CROSS, 0); }
37224 public TerminalNode LEFT() { return getToken(SQLServerStatementParser.LEFT, 0); }
37225 public TerminalNode RIGHT() { return getToken(SQLServerStatementParser.RIGHT, 0); }
37226 public TerminalNode FULL() { return getToken(SQLServerStatementParser.FULL, 0); }
37227 public TerminalNode OUTER() { return getToken(SQLServerStatementParser.OUTER, 0); }
37228 public JoinedTableContext(ParserRuleContext parent, int invokingState) {
37229 super(parent, invokingState);
37230 }
37231 @Override public int getRuleIndex() { return RULE_joinedTable; }
37232 @Override
37233 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37234 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJoinedTable(this);
37235 else return visitor.visitChildren(this);
37236 }
37237 }
37238
37239 public final JoinedTableContext joinedTable() throws RecognitionException {
37240 JoinedTableContext _localctx = new JoinedTableContext(_ctx, getState());
37241 enterRule(_localctx, 714, RULE_joinedTable);
37242 int _la;
37243 try {
37244 setState(5100);
37245 _errHandler.sync(this);
37246 switch ( getInterpreter().adaptivePredict(_input,579,_ctx) ) {
37247 case 1:
37248 enterOuterAlt(_localctx, 1);
37249 {
37250 setState(5077);
37251 _errHandler.sync(this);
37252 _la = _input.LA(1);
37253 if (_la==NATURAL) {
37254 {
37255 setState(5076);
37256 match(NATURAL);
37257 }
37258 }
37259
37260 {
37261 setState(5080);
37262 _errHandler.sync(this);
37263 _la = _input.LA(1);
37264 if (_la==INNER || _la==CROSS) {
37265 {
37266 setState(5079);
37267 _la = _input.LA(1);
37268 if ( !(_la==INNER || _la==CROSS) ) {
37269 _errHandler.recoverInline(this);
37270 }
37271 else {
37272 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
37273 _errHandler.reportMatch(this);
37274 consume();
37275 }
37276 }
37277 }
37278
37279 setState(5082);
37280 match(JOIN);
37281 }
37282 setState(5084);
37283 tableFactor();
37284 setState(5086);
37285 _errHandler.sync(this);
37286 _la = _input.LA(1);
37287 if (_la==USING || _la==ON) {
37288 {
37289 setState(5085);
37290 joinSpecification();
37291 }
37292 }
37293
37294 }
37295 break;
37296 case 2:
37297 enterOuterAlt(_localctx, 2);
37298 {
37299 setState(5089);
37300 _errHandler.sync(this);
37301 _la = _input.LA(1);
37302 if (_la==NATURAL) {
37303 {
37304 setState(5088);
37305 match(NATURAL);
37306 }
37307 }
37308
37309 setState(5091);
37310 _la = _input.LA(1);
37311 if ( !(((((_la - 87)) & ~0x3f) == 0 && ((1L << (_la - 87)) & ((1L << (FULL - 87)) | (1L << (LEFT - 87)) | (1L << (RIGHT - 87)))) != 0)) ) {
37312 _errHandler.recoverInline(this);
37313 }
37314 else {
37315 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
37316 _errHandler.reportMatch(this);
37317 consume();
37318 }
37319 setState(5093);
37320 _errHandler.sync(this);
37321 _la = _input.LA(1);
37322 if (_la==OUTER) {
37323 {
37324 setState(5092);
37325 match(OUTER);
37326 }
37327 }
37328
37329 setState(5095);
37330 match(JOIN);
37331 setState(5096);
37332 tableFactor();
37333 setState(5098);
37334 _errHandler.sync(this);
37335 _la = _input.LA(1);
37336 if (_la==USING || _la==ON) {
37337 {
37338 setState(5097);
37339 joinSpecification();
37340 }
37341 }
37342
37343 }
37344 break;
37345 }
37346 }
37347 catch (RecognitionException re) {
37348 _localctx.exception = re;
37349 _errHandler.reportError(this, re);
37350 _errHandler.recover(this, re);
37351 }
37352 finally {
37353 exitRule();
37354 }
37355 return _localctx;
37356 }
37357
37358 public static class JoinSpecificationContext extends ParserRuleContext {
37359 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
37360 public ExprContext expr() {
37361 return getRuleContext(ExprContext.class,0);
37362 }
37363 public TerminalNode USING() { return getToken(SQLServerStatementParser.USING, 0); }
37364 public ColumnNamesContext columnNames() {
37365 return getRuleContext(ColumnNamesContext.class,0);
37366 }
37367 public JoinSpecificationContext(ParserRuleContext parent, int invokingState) {
37368 super(parent, invokingState);
37369 }
37370 @Override public int getRuleIndex() { return RULE_joinSpecification; }
37371 @Override
37372 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37373 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitJoinSpecification(this);
37374 else return visitor.visitChildren(this);
37375 }
37376 }
37377
37378 public final JoinSpecificationContext joinSpecification() throws RecognitionException {
37379 JoinSpecificationContext _localctx = new JoinSpecificationContext(_ctx, getState());
37380 enterRule(_localctx, 716, RULE_joinSpecification);
37381 try {
37382 setState(5106);
37383 _errHandler.sync(this);
37384 switch (_input.LA(1)) {
37385 case ON:
37386 enterOuterAlt(_localctx, 1);
37387 {
37388 setState(5102);
37389 match(ON);
37390 setState(5103);
37391 expr(0);
37392 }
37393 break;
37394 case USING:
37395 enterOuterAlt(_localctx, 2);
37396 {
37397 setState(5104);
37398 match(USING);
37399 setState(5105);
37400 columnNames();
37401 }
37402 break;
37403 default:
37404 throw new NoViableAltException(this);
37405 }
37406 }
37407 catch (RecognitionException re) {
37408 _localctx.exception = re;
37409 _errHandler.reportError(this, re);
37410 _errHandler.recover(this, re);
37411 }
37412 finally {
37413 exitRule();
37414 }
37415 return _localctx;
37416 }
37417
37418 public static class WhereClauseContext extends ParserRuleContext {
37419 public TerminalNode WHERE() { return getToken(SQLServerStatementParser.WHERE, 0); }
37420 public ExprContext expr() {
37421 return getRuleContext(ExprContext.class,0);
37422 }
37423 public WhereClauseContext(ParserRuleContext parent, int invokingState) {
37424 super(parent, invokingState);
37425 }
37426 @Override public int getRuleIndex() { return RULE_whereClause; }
37427 @Override
37428 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37429 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWhereClause(this);
37430 else return visitor.visitChildren(this);
37431 }
37432 }
37433
37434 public final WhereClauseContext whereClause() throws RecognitionException {
37435 WhereClauseContext _localctx = new WhereClauseContext(_ctx, getState());
37436 enterRule(_localctx, 718, RULE_whereClause);
37437 try {
37438 enterOuterAlt(_localctx, 1);
37439 {
37440 setState(5108);
37441 match(WHERE);
37442 setState(5109);
37443 expr(0);
37444 }
37445 }
37446 catch (RecognitionException re) {
37447 _localctx.exception = re;
37448 _errHandler.reportError(this, re);
37449 _errHandler.recover(this, re);
37450 }
37451 finally {
37452 exitRule();
37453 }
37454 return _localctx;
37455 }
37456
37457 public static class GroupByClauseContext extends ParserRuleContext {
37458 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
37459 public TerminalNode BY() { return getToken(SQLServerStatementParser.BY, 0); }
37460 public List<OrderByItemContext> orderByItem() {
37461 return getRuleContexts(OrderByItemContext.class);
37462 }
37463 public OrderByItemContext orderByItem(int i) {
37464 return getRuleContext(OrderByItemContext.class,i);
37465 }
37466 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
37467 public TerminalNode COMMA_(int i) {
37468 return getToken(SQLServerStatementParser.COMMA_, i);
37469 }
37470 public GroupByClauseContext(ParserRuleContext parent, int invokingState) {
37471 super(parent, invokingState);
37472 }
37473 @Override public int getRuleIndex() { return RULE_groupByClause; }
37474 @Override
37475 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37476 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGroupByClause(this);
37477 else return visitor.visitChildren(this);
37478 }
37479 }
37480
37481 public final GroupByClauseContext groupByClause() throws RecognitionException {
37482 GroupByClauseContext _localctx = new GroupByClauseContext(_ctx, getState());
37483 enterRule(_localctx, 720, RULE_groupByClause);
37484 int _la;
37485 try {
37486 enterOuterAlt(_localctx, 1);
37487 {
37488 setState(5111);
37489 match(GROUP);
37490 setState(5112);
37491 match(BY);
37492 setState(5113);
37493 orderByItem();
37494 setState(5118);
37495 _errHandler.sync(this);
37496 _la = _input.LA(1);
37497 while (_la==COMMA_) {
37498 {
37499 {
37500 setState(5114);
37501 match(COMMA_);
37502 setState(5115);
37503 orderByItem();
37504 }
37505 }
37506 setState(5120);
37507 _errHandler.sync(this);
37508 _la = _input.LA(1);
37509 }
37510 }
37511 }
37512 catch (RecognitionException re) {
37513 _localctx.exception = re;
37514 _errHandler.reportError(this, re);
37515 _errHandler.recover(this, re);
37516 }
37517 finally {
37518 exitRule();
37519 }
37520 return _localctx;
37521 }
37522
37523 public static class HavingClauseContext extends ParserRuleContext {
37524 public TerminalNode HAVING() { return getToken(SQLServerStatementParser.HAVING, 0); }
37525 public ExprContext expr() {
37526 return getRuleContext(ExprContext.class,0);
37527 }
37528 public HavingClauseContext(ParserRuleContext parent, int invokingState) {
37529 super(parent, invokingState);
37530 }
37531 @Override public int getRuleIndex() { return RULE_havingClause; }
37532 @Override
37533 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37534 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHavingClause(this);
37535 else return visitor.visitChildren(this);
37536 }
37537 }
37538
37539 public final HavingClauseContext havingClause() throws RecognitionException {
37540 HavingClauseContext _localctx = new HavingClauseContext(_ctx, getState());
37541 enterRule(_localctx, 722, RULE_havingClause);
37542 try {
37543 enterOuterAlt(_localctx, 1);
37544 {
37545 setState(5121);
37546 match(HAVING);
37547 setState(5122);
37548 expr(0);
37549 }
37550 }
37551 catch (RecognitionException re) {
37552 _localctx.exception = re;
37553 _errHandler.reportError(this, re);
37554 _errHandler.recover(this, re);
37555 }
37556 finally {
37557 exitRule();
37558 }
37559 return _localctx;
37560 }
37561
37562 public static class SubqueryContext extends ParserRuleContext {
37563 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
37564 public AggregationClauseContext aggregationClause() {
37565 return getRuleContext(AggregationClauseContext.class,0);
37566 }
37567 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
37568 public SubqueryContext(ParserRuleContext parent, int invokingState) {
37569 super(parent, invokingState);
37570 }
37571 @Override public int getRuleIndex() { return RULE_subquery; }
37572 @Override
37573 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37574 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSubquery(this);
37575 else return visitor.visitChildren(this);
37576 }
37577 }
37578
37579 public final SubqueryContext subquery() throws RecognitionException {
37580 SubqueryContext _localctx = new SubqueryContext(_ctx, getState());
37581 enterRule(_localctx, 724, RULE_subquery);
37582 try {
37583 enterOuterAlt(_localctx, 1);
37584 {
37585 setState(5124);
37586 match(LP_);
37587 setState(5125);
37588 aggregationClause();
37589 setState(5126);
37590 match(RP_);
37591 }
37592 }
37593 catch (RecognitionException re) {
37594 _localctx.exception = re;
37595 _errHandler.reportError(this, re);
37596 _errHandler.recover(this, re);
37597 }
37598 finally {
37599 exitRule();
37600 }
37601 return _localctx;
37602 }
37603
37604 public static class WithClauseContext extends ParserRuleContext {
37605 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
37606 public CteClauseSetContext cteClauseSet() {
37607 return getRuleContext(CteClauseSetContext.class,0);
37608 }
37609 public WithClauseContext(ParserRuleContext parent, int invokingState) {
37610 super(parent, invokingState);
37611 }
37612 @Override public int getRuleIndex() { return RULE_withClause; }
37613 @Override
37614 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37615 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWithClause(this);
37616 else return visitor.visitChildren(this);
37617 }
37618 }
37619
37620 public final WithClauseContext withClause() throws RecognitionException {
37621 WithClauseContext _localctx = new WithClauseContext(_ctx, getState());
37622 enterRule(_localctx, 726, RULE_withClause);
37623 try {
37624 enterOuterAlt(_localctx, 1);
37625 {
37626 setState(5128);
37627 match(WITH);
37628 setState(5129);
37629 cteClauseSet();
37630 }
37631 }
37632 catch (RecognitionException re) {
37633 _localctx.exception = re;
37634 _errHandler.reportError(this, re);
37635 _errHandler.recover(this, re);
37636 }
37637 finally {
37638 exitRule();
37639 }
37640 return _localctx;
37641 }
37642
37643 public static class CteClauseSetContext extends ParserRuleContext {
37644 public List<CteClauseContext> cteClause() {
37645 return getRuleContexts(CteClauseContext.class);
37646 }
37647 public CteClauseContext cteClause(int i) {
37648 return getRuleContext(CteClauseContext.class,i);
37649 }
37650 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
37651 public TerminalNode COMMA_(int i) {
37652 return getToken(SQLServerStatementParser.COMMA_, i);
37653 }
37654 public CteClauseSetContext(ParserRuleContext parent, int invokingState) {
37655 super(parent, invokingState);
37656 }
37657 @Override public int getRuleIndex() { return RULE_cteClauseSet; }
37658 @Override
37659 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37660 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCteClauseSet(this);
37661 else return visitor.visitChildren(this);
37662 }
37663 }
37664
37665 public final CteClauseSetContext cteClauseSet() throws RecognitionException {
37666 CteClauseSetContext _localctx = new CteClauseSetContext(_ctx, getState());
37667 enterRule(_localctx, 728, RULE_cteClauseSet);
37668 int _la;
37669 try {
37670 enterOuterAlt(_localctx, 1);
37671 {
37672 setState(5131);
37673 cteClause();
37674 setState(5136);
37675 _errHandler.sync(this);
37676 _la = _input.LA(1);
37677 while (_la==COMMA_) {
37678 {
37679 {
37680 setState(5132);
37681 match(COMMA_);
37682 setState(5133);
37683 cteClause();
37684 }
37685 }
37686 setState(5138);
37687 _errHandler.sync(this);
37688 _la = _input.LA(1);
37689 }
37690 }
37691 }
37692 catch (RecognitionException re) {
37693 _localctx.exception = re;
37694 _errHandler.reportError(this, re);
37695 _errHandler.recover(this, re);
37696 }
37697 finally {
37698 exitRule();
37699 }
37700 return _localctx;
37701 }
37702
37703 public static class CteClauseContext extends ParserRuleContext {
37704 public IdentifierContext identifier() {
37705 return getRuleContext(IdentifierContext.class,0);
37706 }
37707 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
37708 public SubqueryContext subquery() {
37709 return getRuleContext(SubqueryContext.class,0);
37710 }
37711 public ColumnNamesContext columnNames() {
37712 return getRuleContext(ColumnNamesContext.class,0);
37713 }
37714 public CteClauseContext(ParserRuleContext parent, int invokingState) {
37715 super(parent, invokingState);
37716 }
37717 @Override public int getRuleIndex() { return RULE_cteClause; }
37718 @Override
37719 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37720 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCteClause(this);
37721 else return visitor.visitChildren(this);
37722 }
37723 }
37724
37725 public final CteClauseContext cteClause() throws RecognitionException {
37726 CteClauseContext _localctx = new CteClauseContext(_ctx, getState());
37727 enterRule(_localctx, 730, RULE_cteClause);
37728 int _la;
37729 try {
37730 enterOuterAlt(_localctx, 1);
37731 {
37732 setState(5139);
37733 identifier();
37734 setState(5141);
37735 _errHandler.sync(this);
37736 _la = _input.LA(1);
37737 if (_la==LP_) {
37738 {
37739 setState(5140);
37740 columnNames();
37741 }
37742 }
37743
37744 setState(5143);
37745 match(AS);
37746 setState(5144);
37747 subquery();
37748 }
37749 }
37750 catch (RecognitionException re) {
37751 _localctx.exception = re;
37752 _errHandler.reportError(this, re);
37753 _errHandler.recover(this, re);
37754 }
37755 finally {
37756 exitRule();
37757 }
37758 return _localctx;
37759 }
37760
37761 public static class OutputClauseContext extends ParserRuleContext {
37762 public TerminalNode OUTPUT() { return getToken(SQLServerStatementParser.OUTPUT, 0); }
37763 public OutputWithColumnsContext outputWithColumns() {
37764 return getRuleContext(OutputWithColumnsContext.class,0);
37765 }
37766 public OutputWithAateriskContext outputWithAaterisk() {
37767 return getRuleContext(OutputWithAateriskContext.class,0);
37768 }
37769 public TerminalNode INTO() { return getToken(SQLServerStatementParser.INTO, 0); }
37770 public OutputTableNameContext outputTableName() {
37771 return getRuleContext(OutputTableNameContext.class,0);
37772 }
37773 public ColumnNamesContext columnNames() {
37774 return getRuleContext(ColumnNamesContext.class,0);
37775 }
37776 public OutputClauseContext(ParserRuleContext parent, int invokingState) {
37777 super(parent, invokingState);
37778 }
37779 @Override public int getRuleIndex() { return RULE_outputClause; }
37780 @Override
37781 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37782 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputClause(this);
37783 else return visitor.visitChildren(this);
37784 }
37785 }
37786
37787 public final OutputClauseContext outputClause() throws RecognitionException {
37788 OutputClauseContext _localctx = new OutputClauseContext(_ctx, getState());
37789 enterRule(_localctx, 732, RULE_outputClause);
37790 int _la;
37791 try {
37792 enterOuterAlt(_localctx, 1);
37793 {
37794 setState(5146);
37795 match(OUTPUT);
37796 setState(5149);
37797 _errHandler.sync(this);
37798 switch ( getInterpreter().adaptivePredict(_input,584,_ctx) ) {
37799 case 1:
37800 {
37801 setState(5147);
37802 outputWithColumns();
37803 }
37804 break;
37805 case 2:
37806 {
37807 setState(5148);
37808 outputWithAaterisk();
37809 }
37810 break;
37811 }
37812 setState(5156);
37813 _errHandler.sync(this);
37814 _la = _input.LA(1);
37815 if (_la==INTO) {
37816 {
37817 setState(5151);
37818 match(INTO);
37819 setState(5152);
37820 outputTableName();
37821 setState(5154);
37822 _errHandler.sync(this);
37823 _la = _input.LA(1);
37824 if (_la==LP_) {
37825 {
37826 setState(5153);
37827 columnNames();
37828 }
37829 }
37830
37831 }
37832 }
37833
37834 }
37835 }
37836 catch (RecognitionException re) {
37837 _localctx.exception = re;
37838 _errHandler.reportError(this, re);
37839 _errHandler.recover(this, re);
37840 }
37841 finally {
37842 exitRule();
37843 }
37844 return _localctx;
37845 }
37846
37847 public static class OutputWithColumnsContext extends ParserRuleContext {
37848 public List<OutputWithColumnContext> outputWithColumn() {
37849 return getRuleContexts(OutputWithColumnContext.class);
37850 }
37851 public OutputWithColumnContext outputWithColumn(int i) {
37852 return getRuleContext(OutputWithColumnContext.class,i);
37853 }
37854 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
37855 public TerminalNode COMMA_(int i) {
37856 return getToken(SQLServerStatementParser.COMMA_, i);
37857 }
37858 public OutputWithColumnsContext(ParserRuleContext parent, int invokingState) {
37859 super(parent, invokingState);
37860 }
37861 @Override public int getRuleIndex() { return RULE_outputWithColumns; }
37862 @Override
37863 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37864 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithColumns(this);
37865 else return visitor.visitChildren(this);
37866 }
37867 }
37868
37869 public final OutputWithColumnsContext outputWithColumns() throws RecognitionException {
37870 OutputWithColumnsContext _localctx = new OutputWithColumnsContext(_ctx, getState());
37871 enterRule(_localctx, 734, RULE_outputWithColumns);
37872 int _la;
37873 try {
37874 enterOuterAlt(_localctx, 1);
37875 {
37876 setState(5158);
37877 outputWithColumn();
37878 setState(5163);
37879 _errHandler.sync(this);
37880 _la = _input.LA(1);
37881 while (_la==COMMA_) {
37882 {
37883 {
37884 setState(5159);
37885 match(COMMA_);
37886 setState(5160);
37887 outputWithColumn();
37888 }
37889 }
37890 setState(5165);
37891 _errHandler.sync(this);
37892 _la = _input.LA(1);
37893 }
37894 }
37895 }
37896 catch (RecognitionException re) {
37897 _localctx.exception = re;
37898 _errHandler.reportError(this, re);
37899 _errHandler.recover(this, re);
37900 }
37901 finally {
37902 exitRule();
37903 }
37904 return _localctx;
37905 }
37906
37907 public static class OutputWithColumnContext extends ParserRuleContext {
37908 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
37909 public NameContext name() {
37910 return getRuleContext(NameContext.class,0);
37911 }
37912 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
37913 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
37914 public AliasContext alias() {
37915 return getRuleContext(AliasContext.class,0);
37916 }
37917 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
37918 public OutputWithColumnContext(ParserRuleContext parent, int invokingState) {
37919 super(parent, invokingState);
37920 }
37921 @Override public int getRuleIndex() { return RULE_outputWithColumn; }
37922 @Override
37923 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37924 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithColumn(this);
37925 else return visitor.visitChildren(this);
37926 }
37927 }
37928
37929 public final OutputWithColumnContext outputWithColumn() throws RecognitionException {
37930 OutputWithColumnContext _localctx = new OutputWithColumnContext(_ctx, getState());
37931 enterRule(_localctx, 736, RULE_outputWithColumn);
37932 int _la;
37933 try {
37934 enterOuterAlt(_localctx, 1);
37935 {
37936 setState(5166);
37937 _la = _input.LA(1);
37938 if ( !(_la==INSERTED || _la==DELETED) ) {
37939 _errHandler.recoverInline(this);
37940 }
37941 else {
37942 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
37943 _errHandler.reportMatch(this);
37944 consume();
37945 }
37946 setState(5167);
37947 match(DOT_);
37948 setState(5168);
37949 name();
37950 setState(5173);
37951 _errHandler.sync(this);
37952 switch ( getInterpreter().adaptivePredict(_input,589,_ctx) ) {
37953 case 1:
37954 {
37955 setState(5170);
37956 _errHandler.sync(this);
37957 _la = _input.LA(1);
37958 if (_la==AS) {
37959 {
37960 setState(5169);
37961 match(AS);
37962 }
37963 }
37964
37965 setState(5172);
37966 alias();
37967 }
37968 break;
37969 }
37970 }
37971 }
37972 catch (RecognitionException re) {
37973 _localctx.exception = re;
37974 _errHandler.reportError(this, re);
37975 _errHandler.recover(this, re);
37976 }
37977 finally {
37978 exitRule();
37979 }
37980 return _localctx;
37981 }
37982
37983 public static class OutputWithAateriskContext extends ParserRuleContext {
37984 public TerminalNode DOT_ASTERISK_() { return getToken(SQLServerStatementParser.DOT_ASTERISK_, 0); }
37985 public TerminalNode INSERTED() { return getToken(SQLServerStatementParser.INSERTED, 0); }
37986 public TerminalNode DELETED() { return getToken(SQLServerStatementParser.DELETED, 0); }
37987 public OutputWithAateriskContext(ParserRuleContext parent, int invokingState) {
37988 super(parent, invokingState);
37989 }
37990 @Override public int getRuleIndex() { return RULE_outputWithAaterisk; }
37991 @Override
37992 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
37993 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputWithAaterisk(this);
37994 else return visitor.visitChildren(this);
37995 }
37996 }
37997
37998 public final OutputWithAateriskContext outputWithAaterisk() throws RecognitionException {
37999 OutputWithAateriskContext _localctx = new OutputWithAateriskContext(_ctx, getState());
38000 enterRule(_localctx, 738, RULE_outputWithAaterisk);
38001 int _la;
38002 try {
38003 enterOuterAlt(_localctx, 1);
38004 {
38005 setState(5175);
38006 _la = _input.LA(1);
38007 if ( !(_la==INSERTED || _la==DELETED) ) {
38008 _errHandler.recoverInline(this);
38009 }
38010 else {
38011 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38012 _errHandler.reportMatch(this);
38013 consume();
38014 }
38015 setState(5176);
38016 match(DOT_ASTERISK_);
38017 }
38018 }
38019 catch (RecognitionException re) {
38020 _localctx.exception = re;
38021 _errHandler.reportError(this, re);
38022 _errHandler.recover(this, re);
38023 }
38024 finally {
38025 exitRule();
38026 }
38027 return _localctx;
38028 }
38029
38030 public static class OutputTableNameContext extends ParserRuleContext {
38031 public TerminalNode AT_() { return getToken(SQLServerStatementParser.AT_, 0); }
38032 public NameContext name() {
38033 return getRuleContext(NameContext.class,0);
38034 }
38035 public TableNameContext tableName() {
38036 return getRuleContext(TableNameContext.class,0);
38037 }
38038 public OutputTableNameContext(ParserRuleContext parent, int invokingState) {
38039 super(parent, invokingState);
38040 }
38041 @Override public int getRuleIndex() { return RULE_outputTableName; }
38042 @Override
38043 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38044 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOutputTableName(this);
38045 else return visitor.visitChildren(this);
38046 }
38047 }
38048
38049 public final OutputTableNameContext outputTableName() throws RecognitionException {
38050 OutputTableNameContext _localctx = new OutputTableNameContext(_ctx, getState());
38051 enterRule(_localctx, 740, RULE_outputTableName);
38052 try {
38053 setState(5181);
38054 _errHandler.sync(this);
38055 switch (_input.LA(1)) {
38056 case AT_:
38057 enterOuterAlt(_localctx, 1);
38058 {
38059 {
38060 setState(5178);
38061 match(AT_);
38062 setState(5179);
38063 name();
38064 }
38065 }
38066 break;
38067 case TRUNCATE:
38068 case SCHEMA:
38069 case FUNCTION:
38070 case TRIGGER:
38071 case CAST:
38072 case GROUP:
38073 case LIMIT:
38074 case OFFSET:
38075 case SAVEPOINT:
38076 case BOOLEAN:
38077 case ARRAY:
38078 case DATE:
38079 case LOCALTIME:
38080 case LOCALTIMESTAMP:
38081 case QUARTER:
38082 case WEEK:
38083 case DAY:
38084 case MICROSECOND:
38085 case MAX:
38086 case MIN:
38087 case SUM:
38088 case COUNT:
38089 case AVG:
38090 case ENABLE:
38091 case DISABLE:
38092 case INSTANCE:
38093 case DO:
38094 case DEFINER:
38095 case SQL:
38096 case CASCADED:
38097 case LOCAL:
38098 case NEXT:
38099 case NAME:
38100 case INTEGER:
38101 case TYPE:
38102 case READ_ONLY:
38103 case DATABASE:
38104 case DATEPART:
38105 case PASSWORD:
38106 case BINARY:
38107 case HIDDEN_:
38108 case MOD:
38109 case PARTITION:
38110 case PARTITIONS:
38111 case TOP:
38112 case ROW:
38113 case ROWS:
38114 case XOR:
38115 case ALWAYS:
38116 case ROLE:
38117 case START:
38118 case ALGORITHM:
38119 case AUTO:
38120 case BLOCKERS:
38121 case CLUSTERED:
38122 case NONCLUSTERED:
38123 case COLUMNSTORE:
38124 case CONTENT:
38125 case YEARS:
38126 case MONTHS:
38127 case WEEKS:
38128 case DAYS:
38129 case MINUTES:
38130 case DENY:
38131 case DETERMINISTIC:
38132 case DISTRIBUTION:
38133 case DOCUMENT:
38134 case DURABILITY:
38135 case ENCRYPTED:
38136 case FILESTREAM:
38137 case FILETABLE:
38138 case FILLFACTOR:
38139 case FOLLOWING:
38140 case HASH:
38141 case HEAP:
38142 case INBOUND:
38143 case OUTBOUND:
38144 case UNBOUNDED:
38145 case INFINITE:
38146 case LOGIN:
38147 case MASKED:
38148 case MAXDOP:
38149 case MOVE:
38150 case NOCHECK:
38151 case OBJECT:
38152 case OFF:
38153 case ONLINE:
38154 case OVER:
38155 case PAGE:
38156 case PAUSED:
38157 case PERIOD:
38158 case PERSISTED:
38159 case PRECEDING:
38160 case RANDOMIZED:
38161 case RANGE:
38162 case REBUILD:
38163 case REPLICATE:
38164 case REPLICATION:
38165 case RESUMABLE:
38166 case ROWGUIDCOL:
38167 case SAVE:
38168 case SELF:
38169 case SPARSE:
38170 case SWITCH:
38171 case TRAN:
38172 case TRANCOUNT:
38173 case CONTROL:
38174 case CONCAT:
38175 case TAKE:
38176 case OWNERSHIP:
38177 case DEFINITION:
38178 case APPLICATION:
38179 case ASSEMBLY:
38180 case SYMMETRIC:
38181 case ASYMMETRIC:
38182 case SERVER:
38183 case RECEIVE:
38184 case CHANGE:
38185 case TRACE:
38186 case TRACKING:
38187 case RESOURCES:
38188 case SETTINGS:
38189 case STATE:
38190 case AVAILABILITY:
38191 case CREDENTIAL:
38192 case ENDPOINT:
38193 case EVENT:
38194 case NOTIFICATION:
38195 case LINKED:
38196 case AUDIT:
38197 case DDL:
38198 case XML:
38199 case IMPERSONATE:
38200 case SECURABLES:
38201 case AUTHENTICATE:
38202 case EXTERNAL:
38203 case ACCESS:
38204 case ADMINISTER:
38205 case BULK:
38206 case OPERATIONS:
38207 case UNSAFE:
38208 case SHUTDOWN:
38209 case SCOPED:
38210 case CONFIGURATION:
38211 case DATASPACE:
38212 case SERVICE:
38213 case CERTIFICATE:
38214 case CONTRACT:
38215 case ENCRYPTION:
38216 case MASTER:
38217 case DATA:
38218 case SOURCE:
38219 case FILE:
38220 case FORMAT:
38221 case LIBRARY:
38222 case FULLTEXT:
38223 case MASK:
38224 case UNMASK:
38225 case MESSAGE:
38226 case REMOTE:
38227 case BINDING:
38228 case ROUTE:
38229 case SECURITY:
38230 case POLICY:
38231 case AGGREGATE:
38232 case QUEUE:
38233 case RULE:
38234 case SYNONYM:
38235 case COLLECTION:
38236 case SCRIPT:
38237 case KILL:
38238 case BACKUP:
38239 case LOG:
38240 case SHOWPLAN:
38241 case SUBSCRIBE:
38242 case QUERY:
38243 case NOTIFICATIONS:
38244 case CHECKPOINT:
38245 case SEQUENCE:
38246 case ABORT_AFTER_WAIT:
38247 case ALLOW_PAGE_LOCKS:
38248 case ALLOW_ROW_LOCKS:
38249 case ALL_SPARSE_COLUMNS:
38250 case BUCKET_COUNT:
38251 case COLUMNSTORE_ARCHIVE:
38252 case COLUMN_ENCRYPTION_KEY:
38253 case COLUMN_SET:
38254 case COMPRESSION_DELAY:
38255 case DATABASE_DEAULT:
38256 case DATA_COMPRESSION:
38257 case DATA_CONSISTENCY_CHECK:
38258 case ENCRYPTION_TYPE:
38259 case SYSTEM_TIME:
38260 case SYSTEM_VERSIONING:
38261 case TEXTIMAGE_ON:
38262 case WAIT_AT_LOW_PRIORITY:
38263 case STATISTICS_INCREMENTAL:
38264 case STATISTICS_NORECOMPUTE:
38265 case ROUND_ROBIN:
38266 case SCHEMA_AND_DATA:
38267 case SCHEMA_ONLY:
38268 case SORT_IN_TEMPDB:
38269 case IGNORE_DUP_KEY:
38270 case IMPLICIT_TRANSACTIONS:
38271 case MAX_DURATION:
38272 case MEMORY_OPTIMIZED:
38273 case MIGRATION_STATE:
38274 case PAD_INDEX:
38275 case REMOTE_DATA_ARCHIVE:
38276 case FILESTREAM_ON:
38277 case FILETABLE_COLLATE_FILENAME:
38278 case FILETABLE_DIRECTORY:
38279 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
38280 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
38281 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
38282 case FILTER_PREDICATE:
38283 case HISTORY_RETENTION_PERIOD:
38284 case HISTORY_TABLE:
38285 case LOCK_ESCALATION:
38286 case DROP_EXISTING:
38287 case ROW_NUMBER:
38288 case FIRST:
38289 case DATETIME2:
38290 case OUTPUT:
38291 case INSERTED:
38292 case DELETED:
38293 case FILENAME:
38294 case MAXSIZE:
38295 case FILEGROWTH:
38296 case UNLIMITED:
38297 case KB:
38298 case MB:
38299 case GB:
38300 case TB:
38301 case MEMORY_OPTIMIZED_DATA:
38302 case FILEGROUP:
38303 case NON_TRANSACTED_ACCESS:
38304 case DB_CHAINING:
38305 case TRUSTWORTHY:
38306 case FORWARD_ONLY:
38307 case KEYSET:
38308 case FAST_FORWARD:
38309 case SCROLL_LOCKS:
38310 case OPTIMISTIC:
38311 case TYPE_WARNING:
38312 case SCHEMABINDING:
38313 case CALLER:
38314 case OWNER:
38315 case SNAPSHOT:
38316 case REPEATABLE:
38317 case SERIALIZABLE:
38318 case NATIVE_COMPILATION:
38319 case VIEW_METADATA:
38320 case INSTEAD:
38321 case APPEND:
38322 case INCREMENT:
38323 case CACHE:
38324 case MINVALUE:
38325 case MAXVALUE:
38326 case RESTART:
38327 case LOB_COMPACTION:
38328 case COMPRESS_ALL_ROW_GROUPS:
38329 case REORGANIZE:
38330 case RESUME:
38331 case PAUSE:
38332 case ABORT:
38333 case ACCELERATED_DATABASE_RECOVERY:
38334 case PERSISTENT_VERSION_STORE_FILEGROUP:
38335 case IMMEDIATE:
38336 case NO_WAIT:
38337 case TARGET_RECOVERY_TIME:
38338 case SECONDS:
38339 case HONOR_BROKER_PRIORITY:
38340 case ERROR_BROKER_CONVERSATIONS:
38341 case NEW_BROKER:
38342 case DISABLE_BROKER:
38343 case ENABLE_BROKER:
38344 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
38345 case READ_COMMITTED_SNAPSHOT:
38346 case ALLOW_SNAPSHOT_ISOLATION:
38347 case RECURSIVE_TRIGGERS:
38348 case QUOTED_IDENTIFIER:
38349 case NUMERIC_ROUNDABORT:
38350 case CONCAT_NULL_YIELDS_NULL:
38351 case COMPATIBILITY_LEVEL:
38352 case ARITHABORT:
38353 case ANSI_WARNINGS:
38354 case ANSI_PADDING:
38355 case ANSI_NULLS:
38356 case ANSI_NULL_DEFAULT:
38357 case PAGE_VERIFY:
38358 case CHECKSUM:
38359 case TORN_PAGE_DETECTION:
38360 case BULK_LOGGED:
38361 case RECOVERY:
38362 case TOTAL_EXECUTION_CPU_TIME_MS:
38363 case TOTAL_COMPILE_CPU_TIME_MS:
38364 case STALE_CAPTURE_POLICY_THRESHOLD:
38365 case EXECUTION_COUNT:
38366 case QUERY_CAPTURE_POLICY:
38367 case WAIT_STATS_CAPTURE_MODE:
38368 case MAX_PLANS_PER_QUERY:
38369 case QUERY_CAPTURE_MODE:
38370 case SIZE_BASED_CLEANUP_MODE:
38371 case INTERVAL_LENGTH_MINUTES:
38372 case MAX_STORAGE_SIZE_MB:
38373 case DATA_FLUSH_INTERVAL_SECONDS:
38374 case CLEANUP_POLICY:
38375 case CUSTOM:
38376 case STALE_QUERY_THRESHOLD_DAYS:
38377 case OPERATION_MODE:
38378 case QUERY_STORE:
38379 case CURSOR_DEFAULT:
38380 case GLOBAL:
38381 case CURSOR_CLOSE_ON_COMMIT:
38382 case HOURS:
38383 case CHANGE_RETENTION:
38384 case AUTO_CLEANUP:
38385 case CHANGE_TRACKING:
38386 case AUTOMATIC_TUNING:
38387 case FORCE_LAST_GOOD_PLAN:
38388 case AUTO_UPDATE_STATISTICS_ASYNC:
38389 case AUTO_UPDATE_STATISTICS:
38390 case AUTO_SHRINK:
38391 case AUTO_CREATE_STATISTICS:
38392 case INCREMENTAL:
38393 case AUTO_CLOSE:
38394 case DATA_RETENTION:
38395 case TEMPORAL_HISTORY_RETENTION:
38396 case EDITION:
38397 case MIXED_PAGE_ALLOCATION:
38398 case DISABLED:
38399 case ALLOWED:
38400 case HADR:
38401 case MULTI_USER:
38402 case RESTRICTED_USER:
38403 case SINGLE_USER:
38404 case OFFLINE:
38405 case EMERGENCY:
38406 case SUSPEND:
38407 case DATE_CORRELATION_OPTIMIZATION:
38408 case ELASTIC_POOL:
38409 case SERVICE_OBJECTIVE:
38410 case DATABASE_NAME:
38411 case ALLOW_CONNECTIONS:
38412 case GEO:
38413 case NAMED:
38414 case DATEFIRST:
38415 case BACKUP_STORAGE_REDUNDANCY:
38416 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
38417 case SECONDARY:
38418 case FAILOVER:
38419 case DEFAULT_FULLTEXT_LANGUAGE:
38420 case DEFAULT_LANGUAGE:
38421 case INLINE:
38422 case NESTED_TRIGGERS:
38423 case TRANSFORM_NOISE_WORDS:
38424 case TWO_DIGIT_YEAR_CUTOFF:
38425 case PERSISTENT_LOG_BUFFER:
38426 case DIRECTORY_NAME:
38427 case DATEFORMAT:
38428 case DELAYED_DURABILITY:
38429 case AUTHORIZATION:
38430 case TRANSFER:
38431 case SEARCH:
38432 case MEMBER:
38433 case IDENTIFIER_:
38434 case DELIMITED_IDENTIFIER_:
38435 enterOuterAlt(_localctx, 2);
38436 {
38437 setState(5180);
38438 tableName();
38439 }
38440 break;
38441 default:
38442 throw new NoViableAltException(this);
38443 }
38444 }
38445 catch (RecognitionException re) {
38446 _localctx.exception = re;
38447 _errHandler.reportError(this, re);
38448 _errHandler.recover(this, re);
38449 }
38450 finally {
38451 exitRule();
38452 }
38453 return _localctx;
38454 }
38455
38456 public static class QueryHintContext extends ParserRuleContext {
38457 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
38458 public TerminalNode HASH() { return getToken(SQLServerStatementParser.HASH, 0); }
38459 public TerminalNode ORDER() { return getToken(SQLServerStatementParser.ORDER, 0); }
38460 public TerminalNode UNION() { return getToken(SQLServerStatementParser.UNION, 0); }
38461 public TerminalNode CONCAT() { return getToken(SQLServerStatementParser.CONCAT, 0); }
38462 public TerminalNode MERGE() { return getToken(SQLServerStatementParser.MERGE, 0); }
38463 public TerminalNode JOIN() { return getToken(SQLServerStatementParser.JOIN, 0); }
38464 public TerminalNode LOOP() { return getToken(SQLServerStatementParser.LOOP, 0); }
38465 public TerminalNode EXPAND() { return getToken(SQLServerStatementParser.EXPAND, 0); }
38466 public TerminalNode VIEWS() { return getToken(SQLServerStatementParser.VIEWS, 0); }
38467 public TerminalNode FAST() { return getToken(SQLServerStatementParser.FAST, 0); }
38468 public TerminalNode INT_NUM_() { return getToken(SQLServerStatementParser.INT_NUM_, 0); }
38469 public TerminalNode FORCE() { return getToken(SQLServerStatementParser.FORCE, 0); }
38470 public TerminalNode EXTERNALPUSHDOWN() { return getToken(SQLServerStatementParser.EXTERNALPUSHDOWN, 0); }
38471 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
38472 public TerminalNode SCALEOUTEXECUTION() { return getToken(SQLServerStatementParser.SCALEOUTEXECUTION, 0); }
38473 public TerminalNode IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX() { return getToken(SQLServerStatementParser.IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX, 0); }
38474 public TerminalNode KEEP() { return getToken(SQLServerStatementParser.KEEP, 0); }
38475 public TerminalNode PLAN() { return getToken(SQLServerStatementParser.PLAN, 0); }
38476 public TerminalNode KEEPFIXED() { return getToken(SQLServerStatementParser.KEEPFIXED, 0); }
38477 public TerminalNode MAX_GRANT_PERCENT() { return getToken(SQLServerStatementParser.MAX_GRANT_PERCENT, 0); }
38478 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
38479 public TerminalNode EQ_(int i) {
38480 return getToken(SQLServerStatementParser.EQ_, i);
38481 }
38482 public TerminalNode DECIMAL_NUM_() { return getToken(SQLServerStatementParser.DECIMAL_NUM_, 0); }
38483 public TerminalNode MIN_GRANT_PERCENT() { return getToken(SQLServerStatementParser.MIN_GRANT_PERCENT, 0); }
38484 public TerminalNode MAXDOP() { return getToken(SQLServerStatementParser.MAXDOP, 0); }
38485 public TerminalNode MAXRECURSION() { return getToken(SQLServerStatementParser.MAXRECURSION, 0); }
38486 public TerminalNode NO_PERFORMANCE_SPOOL() { return getToken(SQLServerStatementParser.NO_PERFORMANCE_SPOOL, 0); }
38487 public TerminalNode OPTIMIZE() { return getToken(SQLServerStatementParser.OPTIMIZE, 0); }
38488 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
38489 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
38490 public TerminalNode AT_() { return getToken(SQLServerStatementParser.AT_, 0); }
38491 public NameContext name() {
38492 return getRuleContext(NameContext.class,0);
38493 }
38494 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
38495 public List<TerminalNode> UNKNOWN() { return getTokens(SQLServerStatementParser.UNKNOWN); }
38496 public TerminalNode UNKNOWN(int i) {
38497 return getToken(SQLServerStatementParser.UNKNOWN, i);
38498 }
38499 public List<IdentifierContext> identifier() {
38500 return getRuleContexts(IdentifierContext.class);
38501 }
38502 public IdentifierContext identifier(int i) {
38503 return getRuleContext(IdentifierContext.class,i);
38504 }
38505 public TerminalNode PARAMETERIZATION() { return getToken(SQLServerStatementParser.PARAMETERIZATION, 0); }
38506 public TerminalNode SIMPLE() { return getToken(SQLServerStatementParser.SIMPLE, 0); }
38507 public TerminalNode FORCED() { return getToken(SQLServerStatementParser.FORCED, 0); }
38508 public TerminalNode QUERYTRACEON() { return getToken(SQLServerStatementParser.QUERYTRACEON, 0); }
38509 public TerminalNode RECOMPILE() { return getToken(SQLServerStatementParser.RECOMPILE, 0); }
38510 public TerminalNode ROBUST() { return getToken(SQLServerStatementParser.ROBUST, 0); }
38511 public TerminalNode USE() { return getToken(SQLServerStatementParser.USE, 0); }
38512 public TerminalNode HINT() { return getToken(SQLServerStatementParser.HINT, 0); }
38513 public List<UseHitNameContext> useHitName() {
38514 return getRuleContexts(UseHitNameContext.class);
38515 }
38516 public UseHitNameContext useHitName(int i) {
38517 return getRuleContext(UseHitNameContext.class,i);
38518 }
38519 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
38520 public QueryHintContext(ParserRuleContext parent, int invokingState) {
38521 super(parent, invokingState);
38522 }
38523 @Override public int getRuleIndex() { return RULE_queryHint; }
38524 @Override
38525 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38526 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitQueryHint(this);
38527 else return visitor.visitChildren(this);
38528 }
38529 }
38530
38531 public final QueryHintContext queryHint() throws RecognitionException {
38532 QueryHintContext _localctx = new QueryHintContext(_ctx, getState());
38533 enterRule(_localctx, 742, RULE_queryHint);
38534 int _la;
38535 try {
38536 setState(5253);
38537 _errHandler.sync(this);
38538 switch ( getInterpreter().adaptivePredict(_input,594,_ctx) ) {
38539 case 1:
38540 enterOuterAlt(_localctx, 1);
38541 {
38542 setState(5183);
38543 _la = _input.LA(1);
38544 if ( !(_la==ORDER || _la==HASH) ) {
38545 _errHandler.recoverInline(this);
38546 }
38547 else {
38548 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38549 _errHandler.reportMatch(this);
38550 consume();
38551 }
38552 setState(5184);
38553 match(GROUP);
38554 }
38555 break;
38556 case 2:
38557 enterOuterAlt(_localctx, 2);
38558 {
38559 setState(5185);
38560 _la = _input.LA(1);
38561 if ( !(_la==MERGE || _la==HASH || _la==CONCAT) ) {
38562 _errHandler.recoverInline(this);
38563 }
38564 else {
38565 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38566 _errHandler.reportMatch(this);
38567 consume();
38568 }
38569 setState(5186);
38570 match(UNION);
38571 }
38572 break;
38573 case 3:
38574 enterOuterAlt(_localctx, 3);
38575 {
38576 setState(5187);
38577 _la = _input.LA(1);
38578 if ( !(_la==MERGE || _la==LOOP || _la==HASH) ) {
38579 _errHandler.recoverInline(this);
38580 }
38581 else {
38582 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38583 _errHandler.reportMatch(this);
38584 consume();
38585 }
38586 setState(5188);
38587 match(JOIN);
38588 }
38589 break;
38590 case 4:
38591 enterOuterAlt(_localctx, 4);
38592 {
38593 setState(5189);
38594 match(EXPAND);
38595 setState(5190);
38596 match(VIEWS);
38597 }
38598 break;
38599 case 5:
38600 enterOuterAlt(_localctx, 5);
38601 {
38602 setState(5191);
38603 match(FAST);
38604 setState(5192);
38605 match(INT_NUM_);
38606 }
38607 break;
38608 case 6:
38609 enterOuterAlt(_localctx, 6);
38610 {
38611 setState(5193);
38612 match(FORCE);
38613 setState(5194);
38614 match(ORDER);
38615 }
38616 break;
38617 case 7:
38618 enterOuterAlt(_localctx, 7);
38619 {
38620 setState(5195);
38621 _la = _input.LA(1);
38622 if ( !(_la==DISABLE || _la==FORCE) ) {
38623 _errHandler.recoverInline(this);
38624 }
38625 else {
38626 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38627 _errHandler.reportMatch(this);
38628 consume();
38629 }
38630 setState(5196);
38631 match(EXTERNALPUSHDOWN);
38632 }
38633 break;
38634 case 8:
38635 enterOuterAlt(_localctx, 8);
38636 {
38637 setState(5197);
38638 _la = _input.LA(1);
38639 if ( !(_la==DISABLE || _la==FORCE) ) {
38640 _errHandler.recoverInline(this);
38641 }
38642 else {
38643 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38644 _errHandler.reportMatch(this);
38645 consume();
38646 }
38647 setState(5198);
38648 match(SCALEOUTEXECUTION);
38649 }
38650 break;
38651 case 9:
38652 enterOuterAlt(_localctx, 9);
38653 {
38654 setState(5199);
38655 match(IGNORE_NONCLUSTERED_COLUMNSTORE_INDEX);
38656 }
38657 break;
38658 case 10:
38659 enterOuterAlt(_localctx, 10);
38660 {
38661 setState(5200);
38662 match(KEEP);
38663 setState(5201);
38664 match(PLAN);
38665 }
38666 break;
38667 case 11:
38668 enterOuterAlt(_localctx, 11);
38669 {
38670 setState(5202);
38671 match(KEEPFIXED);
38672 setState(5203);
38673 match(PLAN);
38674 }
38675 break;
38676 case 12:
38677 enterOuterAlt(_localctx, 12);
38678 {
38679 setState(5204);
38680 match(MAX_GRANT_PERCENT);
38681 setState(5205);
38682 match(EQ_);
38683 setState(5206);
38684 match(DECIMAL_NUM_);
38685 }
38686 break;
38687 case 13:
38688 enterOuterAlt(_localctx, 13);
38689 {
38690 setState(5207);
38691 match(MIN_GRANT_PERCENT);
38692 setState(5208);
38693 match(EQ_);
38694 setState(5209);
38695 match(DECIMAL_NUM_);
38696 }
38697 break;
38698 case 14:
38699 enterOuterAlt(_localctx, 14);
38700 {
38701 setState(5210);
38702 match(MAXDOP);
38703 setState(5211);
38704 match(INT_NUM_);
38705 }
38706 break;
38707 case 15:
38708 enterOuterAlt(_localctx, 15);
38709 {
38710 setState(5212);
38711 match(MAXRECURSION);
38712 setState(5213);
38713 match(INT_NUM_);
38714 }
38715 break;
38716 case 16:
38717 enterOuterAlt(_localctx, 16);
38718 {
38719 setState(5214);
38720 match(NO_PERFORMANCE_SPOOL);
38721 }
38722 break;
38723 case 17:
38724 enterOuterAlt(_localctx, 17);
38725 {
38726 setState(5215);
38727 match(OPTIMIZE);
38728 setState(5216);
38729 match(FOR);
38730 setState(5217);
38731 match(LP_);
38732 setState(5218);
38733 match(AT_);
38734 setState(5219);
38735 name();
38736 setState(5225);
38737 _errHandler.sync(this);
38738 _la = _input.LA(1);
38739 while (_la==EQ_ || _la==UNKNOWN) {
38740 {
38741 setState(5223);
38742 _errHandler.sync(this);
38743 switch (_input.LA(1)) {
38744 case UNKNOWN:
38745 {
38746 setState(5220);
38747 match(UNKNOWN);
38748 }
38749 break;
38750 case EQ_:
38751 {
38752 setState(5221);
38753 match(EQ_);
38754 setState(5222);
38755 identifier();
38756 }
38757 break;
38758 default:
38759 throw new NoViableAltException(this);
38760 }
38761 }
38762 setState(5227);
38763 _errHandler.sync(this);
38764 _la = _input.LA(1);
38765 }
38766 setState(5228);
38767 match(RP_);
38768 }
38769 break;
38770 case 18:
38771 enterOuterAlt(_localctx, 18);
38772 {
38773 setState(5230);
38774 match(OPTIMIZE);
38775 setState(5231);
38776 match(FOR);
38777 setState(5232);
38778 match(UNKNOWN);
38779 }
38780 break;
38781 case 19:
38782 enterOuterAlt(_localctx, 19);
38783 {
38784 setState(5233);
38785 match(PARAMETERIZATION);
38786 setState(5234);
38787 _la = _input.LA(1);
38788 if ( !(_la==SIMPLE || _la==FORCED) ) {
38789 _errHandler.recoverInline(this);
38790 }
38791 else {
38792 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
38793 _errHandler.reportMatch(this);
38794 consume();
38795 }
38796 }
38797 break;
38798 case 20:
38799 enterOuterAlt(_localctx, 20);
38800 {
38801 setState(5235);
38802 match(QUERYTRACEON);
38803 setState(5236);
38804 match(INT_NUM_);
38805 }
38806 break;
38807 case 21:
38808 enterOuterAlt(_localctx, 21);
38809 {
38810 setState(5237);
38811 match(RECOMPILE);
38812 }
38813 break;
38814 case 22:
38815 enterOuterAlt(_localctx, 22);
38816 {
38817 setState(5238);
38818 match(ROBUST);
38819 setState(5239);
38820 match(PLAN);
38821 }
38822 break;
38823 case 23:
38824 enterOuterAlt(_localctx, 23);
38825 {
38826 setState(5240);
38827 match(USE);
38828 setState(5241);
38829 match(HINT);
38830 setState(5242);
38831 match(LP_);
38832 setState(5246);
38833 _errHandler.sync(this);
38834 _la = _input.LA(1);
38835 while (_la==SQ_) {
38836 {
38837 {
38838 setState(5243);
38839 useHitName();
38840 }
38841 }
38842 setState(5248);
38843 _errHandler.sync(this);
38844 _la = _input.LA(1);
38845 }
38846 setState(5249);
38847 match(RP_);
38848 }
38849 break;
38850 case 24:
38851 enterOuterAlt(_localctx, 24);
38852 {
38853 setState(5250);
38854 match(USE);
38855 setState(5251);
38856 match(PLAN);
38857 setState(5252);
38858 match(NCHAR_TEXT);
38859 }
38860 break;
38861 }
38862 }
38863 catch (RecognitionException re) {
38864 _localctx.exception = re;
38865 _errHandler.reportError(this, re);
38866 _errHandler.recover(this, re);
38867 }
38868 finally {
38869 exitRule();
38870 }
38871 return _localctx;
38872 }
38873
38874 public static class UseHitNameContext extends ParserRuleContext {
38875 public List<TerminalNode> SQ_() { return getTokens(SQLServerStatementParser.SQ_); }
38876 public TerminalNode SQ_(int i) {
38877 return getToken(SQLServerStatementParser.SQ_, i);
38878 }
38879 public TerminalNode ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS() { return getToken(SQLServerStatementParser.ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS, 0); }
38880 public TerminalNode ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES() { return getToken(SQLServerStatementParser.ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES, 0); }
38881 public TerminalNode DISABLE_BATCH_MODE_ADAPTIVE_JOINS() { return getToken(SQLServerStatementParser.DISABLE_BATCH_MODE_ADAPTIVE_JOINS, 0); }
38882 public TerminalNode DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK() { return getToken(SQLServerStatementParser.DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK, 0); }
38883 public TerminalNode DISABLE_DEFERRED_COMPILATION_TV() { return getToken(SQLServerStatementParser.DISABLE_DEFERRED_COMPILATION_TV, 0); }
38884 public TerminalNode DISABLE_INTERLEAVED_EXECUTION_TVF() { return getToken(SQLServerStatementParser.DISABLE_INTERLEAVED_EXECUTION_TVF, 0); }
38885 public TerminalNode DISABLE_OPTIMIZED_NESTED_LOOP() { return getToken(SQLServerStatementParser.DISABLE_OPTIMIZED_NESTED_LOOP, 0); }
38886 public TerminalNode DISABLE_OPTIMIZER_ROWGOAL() { return getToken(SQLServerStatementParser.DISABLE_OPTIMIZER_ROWGOAL, 0); }
38887 public TerminalNode DISABLE_PARAMETER_SNIFFING() { return getToken(SQLServerStatementParser.DISABLE_PARAMETER_SNIFFING, 0); }
38888 public TerminalNode DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK() { return getToken(SQLServerStatementParser.DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK, 0); }
38889 public TerminalNode DISABLE_TSQL_SCALAR_UDF_INLINING() { return getToken(SQLServerStatementParser.DISABLE_TSQL_SCALAR_UDF_INLINING, 0); }
38890 public TerminalNode DISALLOW_BATCH_MODE() { return getToken(SQLServerStatementParser.DISALLOW_BATCH_MODE, 0); }
38891 public TerminalNode ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS() { return getToken(SQLServerStatementParser.ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS, 0); }
38892 public TerminalNode ENABLE_QUERY_OPTIMIZER_HOTFIXES() { return getToken(SQLServerStatementParser.ENABLE_QUERY_OPTIMIZER_HOTFIXES, 0); }
38893 public TerminalNode FORCE_DEFAULT_CARDINALITY_ESTIMATION() { return getToken(SQLServerStatementParser.FORCE_DEFAULT_CARDINALITY_ESTIMATION, 0); }
38894 public TerminalNode FORCE_LEGACY_CARDINALITY_ESTIMATION() { return getToken(SQLServerStatementParser.FORCE_LEGACY_CARDINALITY_ESTIMATION, 0); }
38895 public TerminalNode QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n() { return getToken(SQLServerStatementParser.QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n, 0); }
38896 public TerminalNode QUERY_PLAN_PROFILE() { return getToken(SQLServerStatementParser.QUERY_PLAN_PROFILE, 0); }
38897 public UseHitNameContext(ParserRuleContext parent, int invokingState) {
38898 super(parent, invokingState);
38899 }
38900 @Override public int getRuleIndex() { return RULE_useHitName; }
38901 @Override
38902 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
38903 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUseHitName(this);
38904 else return visitor.visitChildren(this);
38905 }
38906 }
38907
38908 public final UseHitNameContext useHitName() throws RecognitionException {
38909 UseHitNameContext _localctx = new UseHitNameContext(_ctx, getState());
38910 enterRule(_localctx, 744, RULE_useHitName);
38911 try {
38912 setState(5309);
38913 _errHandler.sync(this);
38914 switch ( getInterpreter().adaptivePredict(_input,595,_ctx) ) {
38915 case 1:
38916 enterOuterAlt(_localctx, 1);
38917 {
38918 setState(5255);
38919 match(SQ_);
38920 setState(5256);
38921 match(ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS);
38922 setState(5257);
38923 match(SQ_);
38924 }
38925 break;
38926 case 2:
38927 enterOuterAlt(_localctx, 2);
38928 {
38929 setState(5258);
38930 match(SQ_);
38931 setState(5259);
38932 match(ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES);
38933 setState(5260);
38934 match(SQ_);
38935 }
38936 break;
38937 case 3:
38938 enterOuterAlt(_localctx, 3);
38939 {
38940 setState(5261);
38941 match(SQ_);
38942 setState(5262);
38943 match(DISABLE_BATCH_MODE_ADAPTIVE_JOINS);
38944 setState(5263);
38945 match(SQ_);
38946 }
38947 break;
38948 case 4:
38949 enterOuterAlt(_localctx, 4);
38950 {
38951 setState(5264);
38952 match(SQ_);
38953 setState(5265);
38954 match(DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK);
38955 setState(5266);
38956 match(SQ_);
38957 }
38958 break;
38959 case 5:
38960 enterOuterAlt(_localctx, 5);
38961 {
38962 setState(5267);
38963 match(SQ_);
38964 setState(5268);
38965 match(DISABLE_DEFERRED_COMPILATION_TV);
38966 setState(5269);
38967 match(SQ_);
38968 }
38969 break;
38970 case 6:
38971 enterOuterAlt(_localctx, 6);
38972 {
38973 setState(5270);
38974 match(SQ_);
38975 setState(5271);
38976 match(DISABLE_INTERLEAVED_EXECUTION_TVF);
38977 setState(5272);
38978 match(SQ_);
38979 }
38980 break;
38981 case 7:
38982 enterOuterAlt(_localctx, 7);
38983 {
38984 setState(5273);
38985 match(SQ_);
38986 setState(5274);
38987 match(DISABLE_OPTIMIZED_NESTED_LOOP);
38988 setState(5275);
38989 match(SQ_);
38990 }
38991 break;
38992 case 8:
38993 enterOuterAlt(_localctx, 8);
38994 {
38995 setState(5276);
38996 match(SQ_);
38997 setState(5277);
38998 match(DISABLE_OPTIMIZER_ROWGOAL);
38999 setState(5278);
39000 match(SQ_);
39001 }
39002 break;
39003 case 9:
39004 enterOuterAlt(_localctx, 9);
39005 {
39006 setState(5279);
39007 match(SQ_);
39008 setState(5280);
39009 match(DISABLE_PARAMETER_SNIFFING);
39010 setState(5281);
39011 match(SQ_);
39012 }
39013 break;
39014 case 10:
39015 enterOuterAlt(_localctx, 10);
39016 {
39017 setState(5282);
39018 match(SQ_);
39019 setState(5283);
39020 match(DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK);
39021 setState(5284);
39022 match(SQ_);
39023 }
39024 break;
39025 case 11:
39026 enterOuterAlt(_localctx, 11);
39027 {
39028 setState(5285);
39029 match(SQ_);
39030 setState(5286);
39031 match(DISABLE_TSQL_SCALAR_UDF_INLINING);
39032 setState(5287);
39033 match(SQ_);
39034 }
39035 break;
39036 case 12:
39037 enterOuterAlt(_localctx, 12);
39038 {
39039 setState(5288);
39040 match(SQ_);
39041 setState(5289);
39042 match(DISALLOW_BATCH_MODE);
39043 setState(5290);
39044 match(SQ_);
39045 }
39046 break;
39047 case 13:
39048 enterOuterAlt(_localctx, 13);
39049 {
39050 setState(5291);
39051 match(SQ_);
39052 setState(5292);
39053 match(ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS);
39054 setState(5293);
39055 match(SQ_);
39056 }
39057 break;
39058 case 14:
39059 enterOuterAlt(_localctx, 14);
39060 {
39061 setState(5294);
39062 match(SQ_);
39063 setState(5295);
39064 match(ENABLE_QUERY_OPTIMIZER_HOTFIXES);
39065 setState(5296);
39066 match(SQ_);
39067 }
39068 break;
39069 case 15:
39070 enterOuterAlt(_localctx, 15);
39071 {
39072 setState(5297);
39073 match(SQ_);
39074 setState(5298);
39075 match(FORCE_DEFAULT_CARDINALITY_ESTIMATION);
39076 setState(5299);
39077 match(SQ_);
39078 }
39079 break;
39080 case 16:
39081 enterOuterAlt(_localctx, 16);
39082 {
39083 setState(5300);
39084 match(SQ_);
39085 setState(5301);
39086 match(FORCE_LEGACY_CARDINALITY_ESTIMATION);
39087 setState(5302);
39088 match(SQ_);
39089 }
39090 break;
39091 case 17:
39092 enterOuterAlt(_localctx, 17);
39093 {
39094 setState(5303);
39095 match(SQ_);
39096 setState(5304);
39097 match(QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n);
39098 setState(5305);
39099 match(SQ_);
39100 }
39101 break;
39102 case 18:
39103 enterOuterAlt(_localctx, 18);
39104 {
39105 setState(5306);
39106 match(SQ_);
39107 setState(5307);
39108 match(QUERY_PLAN_PROFILE);
39109 setState(5308);
39110 match(SQ_);
39111 }
39112 break;
39113 }
39114 }
39115 catch (RecognitionException re) {
39116 _localctx.exception = re;
39117 _errHandler.reportError(this, re);
39118 _errHandler.recover(this, re);
39119 }
39120 finally {
39121 exitRule();
39122 }
39123 return _localctx;
39124 }
39125
39126 public static class ForClauseContext extends ParserRuleContext {
39127 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
39128 public TerminalNode BROWSE() { return getToken(SQLServerStatementParser.BROWSE, 0); }
39129 public ForXmlClauseContext forXmlClause() {
39130 return getRuleContext(ForXmlClauseContext.class,0);
39131 }
39132 public ForJsonClauseContext forJsonClause() {
39133 return getRuleContext(ForJsonClauseContext.class,0);
39134 }
39135 public ForClauseContext(ParserRuleContext parent, int invokingState) {
39136 super(parent, invokingState);
39137 }
39138 @Override public int getRuleIndex() { return RULE_forClause; }
39139 @Override
39140 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39141 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForClause(this);
39142 else return visitor.visitChildren(this);
39143 }
39144 }
39145
39146 public final ForClauseContext forClause() throws RecognitionException {
39147 ForClauseContext _localctx = new ForClauseContext(_ctx, getState());
39148 enterRule(_localctx, 746, RULE_forClause);
39149 try {
39150 enterOuterAlt(_localctx, 1);
39151 {
39152 setState(5311);
39153 match(FOR);
39154 setState(5315);
39155 _errHandler.sync(this);
39156 switch (_input.LA(1)) {
39157 case BROWSE:
39158 {
39159 setState(5312);
39160 match(BROWSE);
39161 }
39162 break;
39163 case XML:
39164 {
39165 setState(5313);
39166 forXmlClause();
39167 }
39168 break;
39169 case JSON:
39170 {
39171 setState(5314);
39172 forJsonClause();
39173 }
39174 break;
39175 default:
39176 throw new NoViableAltException(this);
39177 }
39178 }
39179 }
39180 catch (RecognitionException re) {
39181 _localctx.exception = re;
39182 _errHandler.reportError(this, re);
39183 _errHandler.recover(this, re);
39184 }
39185 finally {
39186 exitRule();
39187 }
39188 return _localctx;
39189 }
39190
39191 public static class ForXmlClauseContext extends ParserRuleContext {
39192 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
39193 public TerminalNode EXPLICIT() { return getToken(SQLServerStatementParser.EXPLICIT, 0); }
39194 public TerminalNode PATH() { return getToken(SQLServerStatementParser.PATH, 0); }
39195 public TerminalNode RAW() { return getToken(SQLServerStatementParser.RAW, 0); }
39196 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
39197 public CommonDirectivesForXmlContext commonDirectivesForXml() {
39198 return getRuleContext(CommonDirectivesForXmlContext.class,0);
39199 }
39200 public List<TerminalNode> LP_() { return getTokens(SQLServerStatementParser.LP_); }
39201 public TerminalNode LP_(int i) {
39202 return getToken(SQLServerStatementParser.LP_, i);
39203 }
39204 public List<StringLiteralsContext> stringLiterals() {
39205 return getRuleContexts(StringLiteralsContext.class);
39206 }
39207 public StringLiteralsContext stringLiterals(int i) {
39208 return getRuleContext(StringLiteralsContext.class,i);
39209 }
39210 public List<TerminalNode> RP_() { return getTokens(SQLServerStatementParser.RP_); }
39211 public TerminalNode RP_(int i) {
39212 return getToken(SQLServerStatementParser.RP_, i);
39213 }
39214 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39215 public TerminalNode COMMA_(int i) {
39216 return getToken(SQLServerStatementParser.COMMA_, i);
39217 }
39218 public TerminalNode ELEMENTS() { return getToken(SQLServerStatementParser.ELEMENTS, 0); }
39219 public TerminalNode XMLDATA() { return getToken(SQLServerStatementParser.XMLDATA, 0); }
39220 public TerminalNode XMLSCHEMA() { return getToken(SQLServerStatementParser.XMLSCHEMA, 0); }
39221 public TerminalNode XSINIL() { return getToken(SQLServerStatementParser.XSINIL, 0); }
39222 public TerminalNode ABSENT() { return getToken(SQLServerStatementParser.ABSENT, 0); }
39223 public ForXmlClauseContext(ParserRuleContext parent, int invokingState) {
39224 super(parent, invokingState);
39225 }
39226 @Override public int getRuleIndex() { return RULE_forXmlClause; }
39227 @Override
39228 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39229 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForXmlClause(this);
39230 else return visitor.visitChildren(this);
39231 }
39232 }
39233
39234 public final ForXmlClauseContext forXmlClause() throws RecognitionException {
39235 ForXmlClauseContext _localctx = new ForXmlClauseContext(_ctx, getState());
39236 enterRule(_localctx, 748, RULE_forXmlClause);
39237 int _la;
39238 try {
39239 enterOuterAlt(_localctx, 1);
39240 {
39241 setState(5317);
39242 match(XML);
39243 setState(5376);
39244 _errHandler.sync(this);
39245 switch (_input.LA(1)) {
39246 case AUTO:
39247 case RAW:
39248 {
39249 setState(5326);
39250 _errHandler.sync(this);
39251 switch (_input.LA(1)) {
39252 case RAW:
39253 {
39254 setState(5318);
39255 match(RAW);
39256 setState(5323);
39257 _errHandler.sync(this);
39258 _la = _input.LA(1);
39259 if (_la==LP_) {
39260 {
39261 setState(5319);
39262 match(LP_);
39263 setState(5320);
39264 stringLiterals();
39265 setState(5321);
39266 match(RP_);
39267 }
39268 }
39269
39270 }
39271 break;
39272 case AUTO:
39273 {
39274 setState(5325);
39275 match(AUTO);
39276 }
39277 break;
39278 default:
39279 throw new NoViableAltException(this);
39280 }
39281 setState(5349);
39282 _errHandler.sync(this);
39283 switch ( getInterpreter().adaptivePredict(_input,604,_ctx) ) {
39284 case 1:
39285 {
39286 setState(5328);
39287 commonDirectivesForXml();
39288 setState(5340);
39289 _errHandler.sync(this);
39290 switch ( getInterpreter().adaptivePredict(_input,601,_ctx) ) {
39291 case 1:
39292 {
39293 setState(5329);
39294 match(COMMA_);
39295 setState(5338);
39296 _errHandler.sync(this);
39297 switch (_input.LA(1)) {
39298 case XMLDATA:
39299 {
39300 setState(5330);
39301 match(XMLDATA);
39302 }
39303 break;
39304 case XMLSCHEMA:
39305 {
39306 setState(5331);
39307 match(XMLSCHEMA);
39308 setState(5336);
39309 _errHandler.sync(this);
39310 _la = _input.LA(1);
39311 if (_la==LP_) {
39312 {
39313 setState(5332);
39314 match(LP_);
39315 setState(5333);
39316 stringLiterals();
39317 setState(5334);
39318 match(RP_);
39319 }
39320 }
39321
39322 }
39323 break;
39324 default:
39325 throw new NoViableAltException(this);
39326 }
39327 }
39328 break;
39329 }
39330 setState(5347);
39331 _errHandler.sync(this);
39332 _la = _input.LA(1);
39333 if (_la==COMMA_) {
39334 {
39335 setState(5342);
39336 match(COMMA_);
39337 setState(5343);
39338 match(ELEMENTS);
39339 setState(5345);
39340 _errHandler.sync(this);
39341 _la = _input.LA(1);
39342 if (_la==XSINIL || _la==ABSENT) {
39343 {
39344 setState(5344);
39345 _la = _input.LA(1);
39346 if ( !(_la==XSINIL || _la==ABSENT) ) {
39347 _errHandler.recoverInline(this);
39348 }
39349 else {
39350 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39351 _errHandler.reportMatch(this);
39352 consume();
39353 }
39354 }
39355 }
39356
39357 }
39358 }
39359
39360 }
39361 break;
39362 }
39363 }
39364 break;
39365 case EXPLICIT:
39366 {
39367 setState(5351);
39368 match(EXPLICIT);
39369 setState(5357);
39370 _errHandler.sync(this);
39371 switch ( getInterpreter().adaptivePredict(_input,606,_ctx) ) {
39372 case 1:
39373 {
39374 setState(5352);
39375 commonDirectivesForXml();
39376 setState(5355);
39377 _errHandler.sync(this);
39378 _la = _input.LA(1);
39379 if (_la==COMMA_) {
39380 {
39381 setState(5353);
39382 match(COMMA_);
39383 setState(5354);
39384 match(XMLDATA);
39385 }
39386 }
39387
39388 }
39389 break;
39390 }
39391 }
39392 break;
39393 case PATH:
39394 {
39395 setState(5359);
39396 match(PATH);
39397 setState(5364);
39398 _errHandler.sync(this);
39399 _la = _input.LA(1);
39400 if (_la==LP_) {
39401 {
39402 setState(5360);
39403 match(LP_);
39404 setState(5361);
39405 stringLiterals();
39406 setState(5362);
39407 match(RP_);
39408 }
39409 }
39410
39411 setState(5374);
39412 _errHandler.sync(this);
39413 switch ( getInterpreter().adaptivePredict(_input,610,_ctx) ) {
39414 case 1:
39415 {
39416 setState(5366);
39417 commonDirectivesForXml();
39418 setState(5372);
39419 _errHandler.sync(this);
39420 _la = _input.LA(1);
39421 if (_la==COMMA_) {
39422 {
39423 setState(5367);
39424 match(COMMA_);
39425 setState(5368);
39426 match(ELEMENTS);
39427 setState(5370);
39428 _errHandler.sync(this);
39429 _la = _input.LA(1);
39430 if (_la==XSINIL || _la==ABSENT) {
39431 {
39432 setState(5369);
39433 _la = _input.LA(1);
39434 if ( !(_la==XSINIL || _la==ABSENT) ) {
39435 _errHandler.recoverInline(this);
39436 }
39437 else {
39438 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39439 _errHandler.reportMatch(this);
39440 consume();
39441 }
39442 }
39443 }
39444
39445 }
39446 }
39447
39448 }
39449 break;
39450 }
39451 }
39452 break;
39453 default:
39454 throw new NoViableAltException(this);
39455 }
39456 }
39457 }
39458 catch (RecognitionException re) {
39459 _localctx.exception = re;
39460 _errHandler.reportError(this, re);
39461 _errHandler.recover(this, re);
39462 }
39463 finally {
39464 exitRule();
39465 }
39466 return _localctx;
39467 }
39468
39469 public static class CommonDirectivesForXmlContext extends ParserRuleContext {
39470 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39471 public TerminalNode COMMA_(int i) {
39472 return getToken(SQLServerStatementParser.COMMA_, i);
39473 }
39474 public TerminalNode BINARY() { return getToken(SQLServerStatementParser.BINARY, 0); }
39475 public TerminalNode BASE64() { return getToken(SQLServerStatementParser.BASE64, 0); }
39476 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
39477 public TerminalNode ROOT() { return getToken(SQLServerStatementParser.ROOT, 0); }
39478 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
39479 public StringLiteralsContext stringLiterals() {
39480 return getRuleContext(StringLiteralsContext.class,0);
39481 }
39482 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
39483 public CommonDirectivesForXmlContext(ParserRuleContext parent, int invokingState) {
39484 super(parent, invokingState);
39485 }
39486 @Override public int getRuleIndex() { return RULE_commonDirectivesForXml; }
39487 @Override
39488 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39489 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCommonDirectivesForXml(this);
39490 else return visitor.visitChildren(this);
39491 }
39492 }
39493
39494 public final CommonDirectivesForXmlContext commonDirectivesForXml() throws RecognitionException {
39495 CommonDirectivesForXmlContext _localctx = new CommonDirectivesForXmlContext(_ctx, getState());
39496 enterRule(_localctx, 750, RULE_commonDirectivesForXml);
39497 int _la;
39498 try {
39499 enterOuterAlt(_localctx, 1);
39500 {
39501 setState(5381);
39502 _errHandler.sync(this);
39503 switch ( getInterpreter().adaptivePredict(_input,612,_ctx) ) {
39504 case 1:
39505 {
39506 setState(5378);
39507 match(COMMA_);
39508 setState(5379);
39509 match(BINARY);
39510 setState(5380);
39511 match(BASE64);
39512 }
39513 break;
39514 }
39515 setState(5385);
39516 _errHandler.sync(this);
39517 switch ( getInterpreter().adaptivePredict(_input,613,_ctx) ) {
39518 case 1:
39519 {
39520 setState(5383);
39521 match(COMMA_);
39522 setState(5384);
39523 match(TYPE);
39524 }
39525 break;
39526 }
39527 setState(5395);
39528 _errHandler.sync(this);
39529 switch ( getInterpreter().adaptivePredict(_input,615,_ctx) ) {
39530 case 1:
39531 {
39532 setState(5387);
39533 match(COMMA_);
39534 setState(5388);
39535 match(ROOT);
39536 setState(5393);
39537 _errHandler.sync(this);
39538 _la = _input.LA(1);
39539 if (_la==LP_) {
39540 {
39541 setState(5389);
39542 match(LP_);
39543 setState(5390);
39544 stringLiterals();
39545 setState(5391);
39546 match(RP_);
39547 }
39548 }
39549
39550 }
39551 break;
39552 }
39553 }
39554 }
39555 catch (RecognitionException re) {
39556 _localctx.exception = re;
39557 _errHandler.reportError(this, re);
39558 _errHandler.recover(this, re);
39559 }
39560 finally {
39561 exitRule();
39562 }
39563 return _localctx;
39564 }
39565
39566 public static class ForJsonClauseContext extends ParserRuleContext {
39567 public TerminalNode JSON() { return getToken(SQLServerStatementParser.JSON, 0); }
39568 public TerminalNode AUTO() { return getToken(SQLServerStatementParser.AUTO, 0); }
39569 public TerminalNode PATH() { return getToken(SQLServerStatementParser.PATH, 0); }
39570 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39571 public TerminalNode COMMA_(int i) {
39572 return getToken(SQLServerStatementParser.COMMA_, i);
39573 }
39574 public TerminalNode ROOT() { return getToken(SQLServerStatementParser.ROOT, 0); }
39575 public TerminalNode INCLUDE_NULL_VALUES() { return getToken(SQLServerStatementParser.INCLUDE_NULL_VALUES, 0); }
39576 public TerminalNode WITHOUT_ARRAY_WRAPPER() { return getToken(SQLServerStatementParser.WITHOUT_ARRAY_WRAPPER, 0); }
39577 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
39578 public StringLiteralsContext stringLiterals() {
39579 return getRuleContext(StringLiteralsContext.class,0);
39580 }
39581 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
39582 public ForJsonClauseContext(ParserRuleContext parent, int invokingState) {
39583 super(parent, invokingState);
39584 }
39585 @Override public int getRuleIndex() { return RULE_forJsonClause; }
39586 @Override
39587 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39588 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitForJsonClause(this);
39589 else return visitor.visitChildren(this);
39590 }
39591 }
39592
39593 public final ForJsonClauseContext forJsonClause() throws RecognitionException {
39594 ForJsonClauseContext _localctx = new ForJsonClauseContext(_ctx, getState());
39595 enterRule(_localctx, 752, RULE_forJsonClause);
39596 int _la;
39597 try {
39598 enterOuterAlt(_localctx, 1);
39599 {
39600 setState(5397);
39601 match(JSON);
39602 {
39603 setState(5398);
39604 _la = _input.LA(1);
39605 if ( !(_la==AUTO || _la==PATH) ) {
39606 _errHandler.recoverInline(this);
39607 }
39608 else {
39609 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
39610 _errHandler.reportMatch(this);
39611 consume();
39612 }
39613 setState(5417);
39614 _errHandler.sync(this);
39615 switch ( getInterpreter().adaptivePredict(_input,620,_ctx) ) {
39616 case 1:
39617 {
39618 setState(5407);
39619 _errHandler.sync(this);
39620 switch ( getInterpreter().adaptivePredict(_input,617,_ctx) ) {
39621 case 1:
39622 {
39623 setState(5399);
39624 match(COMMA_);
39625 setState(5400);
39626 match(ROOT);
39627 setState(5405);
39628 _errHandler.sync(this);
39629 _la = _input.LA(1);
39630 if (_la==LP_) {
39631 {
39632 setState(5401);
39633 match(LP_);
39634 setState(5402);
39635 stringLiterals();
39636 setState(5403);
39637 match(RP_);
39638 }
39639 }
39640
39641 }
39642 break;
39643 }
39644 setState(5411);
39645 _errHandler.sync(this);
39646 switch ( getInterpreter().adaptivePredict(_input,618,_ctx) ) {
39647 case 1:
39648 {
39649 setState(5409);
39650 match(COMMA_);
39651 setState(5410);
39652 match(INCLUDE_NULL_VALUES);
39653 }
39654 break;
39655 }
39656 setState(5415);
39657 _errHandler.sync(this);
39658 _la = _input.LA(1);
39659 if (_la==COMMA_) {
39660 {
39661 setState(5413);
39662 match(COMMA_);
39663 setState(5414);
39664 match(WITHOUT_ARRAY_WRAPPER);
39665 }
39666 }
39667
39668 }
39669 break;
39670 }
39671 }
39672 }
39673 }
39674 catch (RecognitionException re) {
39675 _localctx.exception = re;
39676 _errHandler.reportError(this, re);
39677 _errHandler.recover(this, re);
39678 }
39679 finally {
39680 exitRule();
39681 }
39682 return _localctx;
39683 }
39684
39685 public static class SelectWithClauseContext extends ParserRuleContext {
39686 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
39687 public XmlNamespacesClauseContext xmlNamespacesClause() {
39688 return getRuleContext(XmlNamespacesClauseContext.class,0);
39689 }
39690 public CteClauseSetContext cteClauseSet() {
39691 return getRuleContext(CteClauseSetContext.class,0);
39692 }
39693 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
39694 public SelectWithClauseContext(ParserRuleContext parent, int invokingState) {
39695 super(parent, invokingState);
39696 }
39697 @Override public int getRuleIndex() { return RULE_selectWithClause; }
39698 @Override
39699 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39700 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSelectWithClause(this);
39701 else return visitor.visitChildren(this);
39702 }
39703 }
39704
39705 public final SelectWithClauseContext selectWithClause() throws RecognitionException {
39706 SelectWithClauseContext _localctx = new SelectWithClauseContext(_ctx, getState());
39707 enterRule(_localctx, 754, RULE_selectWithClause);
39708 int _la;
39709 try {
39710 enterOuterAlt(_localctx, 1);
39711 {
39712 setState(5419);
39713 match(WITH);
39714 setState(5424);
39715 _errHandler.sync(this);
39716 _la = _input.LA(1);
39717 if (_la==XMLNAMESPACES) {
39718 {
39719 setState(5420);
39720 xmlNamespacesClause();
39721 setState(5422);
39722 _errHandler.sync(this);
39723 _la = _input.LA(1);
39724 if (_la==COMMA_) {
39725 {
39726 setState(5421);
39727 match(COMMA_);
39728 }
39729 }
39730
39731 }
39732 }
39733
39734 setState(5427);
39735 _errHandler.sync(this);
39736 _la = _input.LA(1);
39737 if (((((_la - 53)) & ~0x3f) == 0 && ((1L << (_la - 53)) & ((1L << (TRUNCATE - 53)) | (1L << (SCHEMA - 53)) | (1L << (FUNCTION - 53)) | (1L << (TRIGGER - 53)) | (1L << (CAST - 53)) | (1L << (GROUP - 53)))) != 0) || ((((_la - 121)) & ~0x3f) == 0 && ((1L << (_la - 121)) & ((1L << (LIMIT - 121)) | (1L << (OFFSET - 121)) | (1L << (SAVEPOINT - 121)) | (1L << (BOOLEAN - 121)) | (1L << (ARRAY - 121)) | (1L << (DATE - 121)) | (1L << (LOCALTIME - 121)) | (1L << (LOCALTIMESTAMP - 121)) | (1L << (QUARTER - 121)) | (1L << (WEEK - 121)) | (1L << (DAY - 121)) | (1L << (MICROSECOND - 121)) | (1L << (MAX - 121)) | (1L << (MIN - 121)) | (1L << (SUM - 121)) | (1L << (COUNT - 121)) | (1L << (AVG - 121)) | (1L << (ENABLE - 121)) | (1L << (DISABLE - 121)) | (1L << (INSTANCE - 121)) | (1L << (DO - 121)) | (1L << (DEFINER - 121)) | (1L << (SQL - 121)) | (1L << (CASCADED - 121)) | (1L << (LOCAL - 121)) | (1L << (NEXT - 121)) | (1L << (NAME - 121)) | (1L << (INTEGER - 121)) | (1L << (TYPE - 121)))) != 0) || ((((_la - 201)) & ~0x3f) == 0 && ((1L << (_la - 201)) & ((1L << (READ_ONLY - 201)) | (1L << (DATABASE - 201)) | (1L << (DATEPART - 201)) | (1L << (PASSWORD - 201)) | (1L << (BINARY - 201)) | (1L << (HIDDEN_ - 201)) | (1L << (MOD - 201)) | (1L << (PARTITION - 201)) | (1L << (PARTITIONS - 201)) | (1L << (TOP - 201)) | (1L << (ROW - 201)) | (1L << (ROWS - 201)) | (1L << (XOR - 201)) | (1L << (ALWAYS - 201)) | (1L << (ROLE - 201)) | (1L << (START - 201)) | (1L << (ALGORITHM - 201)) | (1L << (AUTO - 201)) | (1L << (BLOCKERS - 201)) | (1L << (CLUSTERED - 201)) | (1L << (NONCLUSTERED - 201)) | (1L << (COLUMNSTORE - 201)) | (1L << (CONTENT - 201)) | (1L << (YEARS - 201)) | (1L << (MONTHS - 201)) | (1L << (WEEKS - 201)) | (1L << (DAYS - 201)) | (1L << (MINUTES - 201)) | (1L << (DENY - 201)) | (1L << (DETERMINISTIC - 201)) | (1L << (DISTRIBUTION - 201)) | (1L << (DOCUMENT - 201)) | (1L << (DURABILITY - 201)) | (1L << (ENCRYPTED - 201)) | (1L << (FILESTREAM - 201)) | (1L << (FILETABLE - 201)) | (1L << (FILLFACTOR - 201)) | (1L << (FOLLOWING - 201)) | (1L << (HASH - 201)) | (1L << (HEAP - 201)))) != 0) || ((((_la - 266)) & ~0x3f) == 0 && ((1L << (_la - 266)) & ((1L << (INBOUND - 266)) | (1L << (OUTBOUND - 266)) | (1L << (UNBOUNDED - 266)) | (1L << (INFINITE - 266)) | (1L << (LOGIN - 266)) | (1L << (MASKED - 266)) | (1L << (MAXDOP - 266)) | (1L << (MOVE - 266)) | (1L << (NOCHECK - 266)) | (1L << (OBJECT - 266)) | (1L << (OFF - 266)) | (1L << (ONLINE - 266)) | (1L << (OVER - 266)) | (1L << (PAGE - 266)) | (1L << (PAUSED - 266)) | (1L << (PERIOD - 266)) | (1L << (PERSISTED - 266)) | (1L << (PRECEDING - 266)) | (1L << (RANDOMIZED - 266)) | (1L << (RANGE - 266)) | (1L << (REBUILD - 266)) | (1L << (REPLICATE - 266)) | (1L << (REPLICATION - 266)) | (1L << (RESUMABLE - 266)) | (1L << (ROWGUIDCOL - 266)) | (1L << (SAVE - 266)) | (1L << (SELF - 266)) | (1L << (SPARSE - 266)) | (1L << (SWITCH - 266)) | (1L << (TRAN - 266)) | (1L << (TRANCOUNT - 266)) | (1L << (CONTROL - 266)) | (1L << (CONCAT - 266)) | (1L << (TAKE - 266)) | (1L << (OWNERSHIP - 266)) | (1L << (DEFINITION - 266)) | (1L << (APPLICATION - 266)) | (1L << (ASSEMBLY - 266)) | (1L << (SYMMETRIC - 266)) | (1L << (ASYMMETRIC - 266)) | (1L << (SERVER - 266)) | (1L << (RECEIVE - 266)) | (1L << (CHANGE - 266)) | (1L << (TRACE - 266)) | (1L << (TRACKING - 266)) | (1L << (RESOURCES - 266)) | (1L << (SETTINGS - 266)) | (1L << (STATE - 266)) | (1L << (AVAILABILITY - 266)) | (1L << (CREDENTIAL - 266)) | (1L << (ENDPOINT - 266)) | (1L << (EVENT - 266)) | (1L << (NOTIFICATION - 266)) | (1L << (LINKED - 266)) | (1L << (AUDIT - 266)) | (1L << (DDL - 266)))) != 0) || ((((_la - 330)) & ~0x3f) == 0 && ((1L << (_la - 330)) & ((1L << (XML - 330)) | (1L << (IMPERSONATE - 330)) | (1L << (SECURABLES - 330)) | (1L << (AUTHENTICATE - 330)) | (1L << (EXTERNAL - 330)) | (1L << (ACCESS - 330)) | (1L << (ADMINISTER - 330)) | (1L << (BULK - 330)) | (1L << (OPERATIONS - 330)) | (1L << (UNSAFE - 330)) | (1L << (SHUTDOWN - 330)) | (1L << (SCOPED - 330)) | (1L << (CONFIGURATION - 330)) | (1L << (DATASPACE - 330)) | (1L << (SERVICE - 330)) | (1L << (CERTIFICATE - 330)) | (1L << (CONTRACT - 330)) | (1L << (ENCRYPTION - 330)) | (1L << (MASTER - 330)) | (1L << (DATA - 330)) | (1L << (SOURCE - 330)) | (1L << (FILE - 330)) | (1L << (FORMAT - 330)) | (1L << (LIBRARY - 330)) | (1L << (FULLTEXT - 330)) | (1L << (MASK - 330)) | (1L << (UNMASK - 330)) | (1L << (MESSAGE - 330)) | (1L << (REMOTE - 330)) | (1L << (BINDING - 330)) | (1L << (ROUTE - 330)) | (1L << (SECURITY - 330)) | (1L << (POLICY - 330)) | (1L << (AGGREGATE - 330)) | (1L << (QUEUE - 330)) | (1L << (RULE - 330)) | (1L << (SYNONYM - 330)) | (1L << (COLLECTION - 330)) | (1L << (SCRIPT - 330)) | (1L << (KILL - 330)) | (1L << (BACKUP - 330)) | (1L << (LOG - 330)) | (1L << (SHOWPLAN - 330)) | (1L << (SUBSCRIBE - 330)) | (1L << (QUERY - 330)) | (1L << (NOTIFICATIONS - 330)) | (1L << (CHECKPOINT - 330)) | (1L << (SEQUENCE - 330)) | (1L << (ABORT_AFTER_WAIT - 330)) | (1L << (ALLOW_PAGE_LOCKS - 330)) | (1L << (ALLOW_ROW_LOCKS - 330)) | (1L << (ALL_SPARSE_COLUMNS - 330)) | (1L << (BUCKET_COUNT - 330)) | (1L << (COLUMNSTORE_ARCHIVE - 330)) | (1L << (COLUMN_ENCRYPTION_KEY - 330)) | (1L << (COLUMN_SET - 330)) | (1L << (COMPRESSION_DELAY - 330)) | (1L << (DATABASE_DEAULT - 330)) | (1L << (DATA_COMPRESSION - 330)) | (1L << (DATA_CONSISTENCY_CHECK - 330)) | (1L << (ENCRYPTION_TYPE - 330)) | (1L << (SYSTEM_TIME - 330)) | (1L << (SYSTEM_VERSIONING - 330)) | (1L << (TEXTIMAGE_ON - 330)))) != 0) || ((((_la - 394)) & ~0x3f) == 0 && ((1L << (_la - 394)) & ((1L << (WAIT_AT_LOW_PRIORITY - 394)) | (1L << (STATISTICS_INCREMENTAL - 394)) | (1L << (STATISTICS_NORECOMPUTE - 394)) | (1L << (ROUND_ROBIN - 394)) | (1L << (SCHEMA_AND_DATA - 394)) | (1L << (SCHEMA_ONLY - 394)) | (1L << (SORT_IN_TEMPDB - 394)) | (1L << (IGNORE_DUP_KEY - 394)) | (1L << (IMPLICIT_TRANSACTIONS - 394)) | (1L << (MAX_DURATION - 394)) | (1L << (MEMORY_OPTIMIZED - 394)) | (1L << (MIGRATION_STATE - 394)) | (1L << (PAD_INDEX - 394)) | (1L << (REMOTE_DATA_ARCHIVE - 394)) | (1L << (FILESTREAM_ON - 394)) | (1L << (FILETABLE_COLLATE_FILENAME - 394)) | (1L << (FILETABLE_DIRECTORY - 394)) | (1L << (FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME - 394)) | (1L << (FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME - 394)) | (1L << (FILTER_PREDICATE - 394)) | (1L << (HISTORY_RETENTION_PERIOD - 394)) | (1L << (HISTORY_TABLE - 394)) | (1L << (LOCK_ESCALATION - 394)) | (1L << (DROP_EXISTING - 394)) | (1L << (ROW_NUMBER - 394)) | (1L << (FIRST - 394)) | (1L << (DATETIME2 - 394)) | (1L << (OUTPUT - 394)) | (1L << (INSERTED - 394)) | (1L << (DELETED - 394)))) != 0) || ((((_la - 478)) & ~0x3f) == 0 && ((1L << (_la - 478)) & ((1L << (FILENAME - 478)) | (1L << (MAXSIZE - 478)) | (1L << (FILEGROWTH - 478)) | (1L << (UNLIMITED - 478)) | (1L << (KB - 478)) | (1L << (MB - 478)) | (1L << (GB - 478)) | (1L << (TB - 478)) | (1L << (MEMORY_OPTIMIZED_DATA - 478)) | (1L << (FILEGROUP - 478)) | (1L << (NON_TRANSACTED_ACCESS - 478)) | (1L << (DB_CHAINING - 478)) | (1L << (TRUSTWORTHY - 478)) | (1L << (FORWARD_ONLY - 478)) | (1L << (KEYSET - 478)) | (1L << (FAST_FORWARD - 478)) | (1L << (SCROLL_LOCKS - 478)) | (1L << (OPTIMISTIC - 478)) | (1L << (TYPE_WARNING - 478)) | (1L << (SCHEMABINDING - 478)) | (1L << (CALLER - 478)) | (1L << (OWNER - 478)) | (1L << (SNAPSHOT - 478)) | (1L << (REPEATABLE - 478)) | (1L << (SERIALIZABLE - 478)) | (1L << (NATIVE_COMPILATION - 478)) | (1L << (VIEW_METADATA - 478)) | (1L << (INSTEAD - 478)) | (1L << (APPEND - 478)) | (1L << (INCREMENT - 478)) | (1L << (CACHE - 478)) | (1L << (MINVALUE - 478)) | (1L << (MAXVALUE - 478)) | (1L << (RESTART - 478)) | (1L << (LOB_COMPACTION - 478)) | (1L << (COMPRESS_ALL_ROW_GROUPS - 478)) | (1L << (REORGANIZE - 478)) | (1L << (RESUME - 478)) | (1L << (PAUSE - 478)) | (1L << (ABORT - 478)))) != 0) || ((((_la - 544)) & ~0x3f) == 0 && ((1L << (_la - 544)) & ((1L << (ACCELERATED_DATABASE_RECOVERY - 544)) | (1L << (PERSISTENT_VERSION_STORE_FILEGROUP - 544)) | (1L << (IMMEDIATE - 544)) | (1L << (NO_WAIT - 544)) | (1L << (TARGET_RECOVERY_TIME - 544)) | (1L << (SECONDS - 544)) | (1L << (HONOR_BROKER_PRIORITY - 544)) | (1L << (ERROR_BROKER_CONVERSATIONS - 544)) | (1L << (NEW_BROKER - 544)) | (1L << (DISABLE_BROKER - 544)) | (1L << (ENABLE_BROKER - 544)) | (1L << (MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT - 544)) | (1L << (READ_COMMITTED_SNAPSHOT - 544)) | (1L << (ALLOW_SNAPSHOT_ISOLATION - 544)) | (1L << (RECURSIVE_TRIGGERS - 544)) | (1L << (QUOTED_IDENTIFIER - 544)) | (1L << (NUMERIC_ROUNDABORT - 544)) | (1L << (CONCAT_NULL_YIELDS_NULL - 544)) | (1L << (COMPATIBILITY_LEVEL - 544)) | (1L << (ARITHABORT - 544)) | (1L << (ANSI_WARNINGS - 544)) | (1L << (ANSI_PADDING - 544)) | (1L << (ANSI_NULLS - 544)) | (1L << (ANSI_NULL_DEFAULT - 544)) | (1L << (PAGE_VERIFY - 544)) | (1L << (CHECKSUM - 544)) | (1L << (TORN_PAGE_DETECTION - 544)) | (1L << (BULK_LOGGED - 544)) | (1L << (RECOVERY - 544)) | (1L << (TOTAL_EXECUTION_CPU_TIME_MS - 544)) | (1L << (TOTAL_COMPILE_CPU_TIME_MS - 544)) | (1L << (STALE_CAPTURE_POLICY_THRESHOLD - 544)) | (1L << (EXECUTION_COUNT - 544)) | (1L << (QUERY_CAPTURE_POLICY - 544)) | (1L << (WAIT_STATS_CAPTURE_MODE - 544)) | (1L << (MAX_PLANS_PER_QUERY - 544)) | (1L << (QUERY_CAPTURE_MODE - 544)) | (1L << (SIZE_BASED_CLEANUP_MODE - 544)) | (1L << (INTERVAL_LENGTH_MINUTES - 544)) | (1L << (MAX_STORAGE_SIZE_MB - 544)) | (1L << (DATA_FLUSH_INTERVAL_SECONDS - 544)) | (1L << (CLEANUP_POLICY - 544)) | (1L << (CUSTOM - 544)) | (1L << (STALE_QUERY_THRESHOLD_DAYS - 544)) | (1L << (OPERATION_MODE - 544)) | (1L << (QUERY_STORE - 544)) | (1L << (CURSOR_DEFAULT - 544)) | (1L << (GLOBAL - 544)) | (1L << (CURSOR_CLOSE_ON_COMMIT - 544)) | (1L << (HOURS - 544)) | (1L << (CHANGE_RETENTION - 544)) | (1L << (AUTO_CLEANUP - 544)) | (1L << (CHANGE_TRACKING - 544)) | (1L << (AUTOMATIC_TUNING - 544)) | (1L << (FORCE_LAST_GOOD_PLAN - 544)) | (1L << (AUTO_UPDATE_STATISTICS_ASYNC - 544)) | (1L << (AUTO_UPDATE_STATISTICS - 544)) | (1L << (AUTO_SHRINK - 544)) | (1L << (AUTO_CREATE_STATISTICS - 544)) | (1L << (INCREMENTAL - 544)) | (1L << (AUTO_CLOSE - 544)) | (1L << (DATA_RETENTION - 544)) | (1L << (TEMPORAL_HISTORY_RETENTION - 544)) | (1L << (EDITION - 544)))) != 0) || ((((_la - 608)) & ~0x3f) == 0 && ((1L << (_la - 608)) & ((1L << (MIXED_PAGE_ALLOCATION - 608)) | (1L << (DISABLED - 608)) | (1L << (ALLOWED - 608)) | (1L << (HADR - 608)) | (1L << (MULTI_USER - 608)) | (1L << (RESTRICTED_USER - 608)) | (1L << (SINGLE_USER - 608)) | (1L << (OFFLINE - 608)) | (1L << (EMERGENCY - 608)) | (1L << (SUSPEND - 608)) | (1L << (DATE_CORRELATION_OPTIMIZATION - 608)) | (1L << (ELASTIC_POOL - 608)) | (1L << (SERVICE_OBJECTIVE - 608)) | (1L << (DATABASE_NAME - 608)) | (1L << (ALLOW_CONNECTIONS - 608)) | (1L << (GEO - 608)) | (1L << (NAMED - 608)) | (1L << (DATEFIRST - 608)) | (1L << (BACKUP_STORAGE_REDUNDANCY - 608)) | (1L << (FORCE_FAILOVER_ALLOW_DATA_LOSS - 608)) | (1L << (SECONDARY - 608)) | (1L << (FAILOVER - 608)) | (1L << (DEFAULT_FULLTEXT_LANGUAGE - 608)) | (1L << (DEFAULT_LANGUAGE - 608)) | (1L << (INLINE - 608)) | (1L << (NESTED_TRIGGERS - 608)) | (1L << (TRANSFORM_NOISE_WORDS - 608)) | (1L << (TWO_DIGIT_YEAR_CUTOFF - 608)) | (1L << (PERSISTENT_LOG_BUFFER - 608)) | (1L << (DIRECTORY_NAME - 608)) | (1L << (DATEFORMAT - 608)) | (1L << (DELAYED_DURABILITY - 608)) | (1L << (AUTHORIZATION - 608)) | (1L << (TRANSFER - 608)) | (1L << (SEARCH - 608)) | (1L << (MEMBER - 608)))) != 0) || _la==IDENTIFIER_ || _la==DELIMITED_IDENTIFIER_) {
39738 {
39739 setState(5426);
39740 cteClauseSet();
39741 }
39742 }
39743
39744 }
39745 }
39746 catch (RecognitionException re) {
39747 _localctx.exception = re;
39748 _errHandler.reportError(this, re);
39749 _errHandler.recover(this, re);
39750 }
39751 finally {
39752 exitRule();
39753 }
39754 return _localctx;
39755 }
39756
39757 public static class XmlNamespacesClauseContext extends ParserRuleContext {
39758 public TerminalNode XMLNAMESPACES() { return getToken(SQLServerStatementParser.XMLNAMESPACES, 0); }
39759 public TerminalNode LP_() { return getToken(SQLServerStatementParser.LP_, 0); }
39760 public List<XmlNamespaceDeclarationItemContext> xmlNamespaceDeclarationItem() {
39761 return getRuleContexts(XmlNamespaceDeclarationItemContext.class);
39762 }
39763 public XmlNamespaceDeclarationItemContext xmlNamespaceDeclarationItem(int i) {
39764 return getRuleContext(XmlNamespaceDeclarationItemContext.class,i);
39765 }
39766 public TerminalNode RP_() { return getToken(SQLServerStatementParser.RP_, 0); }
39767 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
39768 public TerminalNode COMMA_(int i) {
39769 return getToken(SQLServerStatementParser.COMMA_, i);
39770 }
39771 public XmlNamespacesClauseContext(ParserRuleContext parent, int invokingState) {
39772 super(parent, invokingState);
39773 }
39774 @Override public int getRuleIndex() { return RULE_xmlNamespacesClause; }
39775 @Override
39776 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39777 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespacesClause(this);
39778 else return visitor.visitChildren(this);
39779 }
39780 }
39781
39782 public final XmlNamespacesClauseContext xmlNamespacesClause() throws RecognitionException {
39783 XmlNamespacesClauseContext _localctx = new XmlNamespacesClauseContext(_ctx, getState());
39784 enterRule(_localctx, 756, RULE_xmlNamespacesClause);
39785 int _la;
39786 try {
39787 enterOuterAlt(_localctx, 1);
39788 {
39789 setState(5429);
39790 match(XMLNAMESPACES);
39791 setState(5430);
39792 match(LP_);
39793 setState(5431);
39794 xmlNamespaceDeclarationItem();
39795 setState(5436);
39796 _errHandler.sync(this);
39797 _la = _input.LA(1);
39798 while (_la==COMMA_) {
39799 {
39800 {
39801 setState(5432);
39802 match(COMMA_);
39803 setState(5433);
39804 xmlNamespaceDeclarationItem();
39805 }
39806 }
39807 setState(5438);
39808 _errHandler.sync(this);
39809 _la = _input.LA(1);
39810 }
39811 setState(5439);
39812 match(RP_);
39813 }
39814 }
39815 catch (RecognitionException re) {
39816 _localctx.exception = re;
39817 _errHandler.reportError(this, re);
39818 _errHandler.recover(this, re);
39819 }
39820 finally {
39821 exitRule();
39822 }
39823 return _localctx;
39824 }
39825
39826 public static class XmlNamespaceDeclarationItemContext extends ParserRuleContext {
39827 public XmlNamespaceUriContext xmlNamespaceUri() {
39828 return getRuleContext(XmlNamespaceUriContext.class,0);
39829 }
39830 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
39831 public XmlNamespacePrefixContext xmlNamespacePrefix() {
39832 return getRuleContext(XmlNamespacePrefixContext.class,0);
39833 }
39834 public XmlDefaultNamespaceDeclarationItemContext xmlDefaultNamespaceDeclarationItem() {
39835 return getRuleContext(XmlDefaultNamespaceDeclarationItemContext.class,0);
39836 }
39837 public XmlNamespaceDeclarationItemContext(ParserRuleContext parent, int invokingState) {
39838 super(parent, invokingState);
39839 }
39840 @Override public int getRuleIndex() { return RULE_xmlNamespaceDeclarationItem; }
39841 @Override
39842 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39843 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespaceDeclarationItem(this);
39844 else return visitor.visitChildren(this);
39845 }
39846 }
39847
39848 public final XmlNamespaceDeclarationItemContext xmlNamespaceDeclarationItem() throws RecognitionException {
39849 XmlNamespaceDeclarationItemContext _localctx = new XmlNamespaceDeclarationItemContext(_ctx, getState());
39850 enterRule(_localctx, 758, RULE_xmlNamespaceDeclarationItem);
39851 try {
39852 setState(5446);
39853 _errHandler.sync(this);
39854 switch (_input.LA(1)) {
39855 case STRING_:
39856 case NCHAR_TEXT:
39857 enterOuterAlt(_localctx, 1);
39858 {
39859 setState(5441);
39860 xmlNamespaceUri();
39861 setState(5442);
39862 match(AS);
39863 setState(5443);
39864 xmlNamespacePrefix();
39865 }
39866 break;
39867 case DEFAULT:
39868 enterOuterAlt(_localctx, 2);
39869 {
39870 setState(5445);
39871 xmlDefaultNamespaceDeclarationItem();
39872 }
39873 break;
39874 default:
39875 throw new NoViableAltException(this);
39876 }
39877 }
39878 catch (RecognitionException re) {
39879 _localctx.exception = re;
39880 _errHandler.reportError(this, re);
39881 _errHandler.recover(this, re);
39882 }
39883 finally {
39884 exitRule();
39885 }
39886 return _localctx;
39887 }
39888
39889 public static class XmlNamespaceUriContext extends ParserRuleContext {
39890 public StringLiteralsContext stringLiterals() {
39891 return getRuleContext(StringLiteralsContext.class,0);
39892 }
39893 public XmlNamespaceUriContext(ParserRuleContext parent, int invokingState) {
39894 super(parent, invokingState);
39895 }
39896 @Override public int getRuleIndex() { return RULE_xmlNamespaceUri; }
39897 @Override
39898 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39899 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespaceUri(this);
39900 else return visitor.visitChildren(this);
39901 }
39902 }
39903
39904 public final XmlNamespaceUriContext xmlNamespaceUri() throws RecognitionException {
39905 XmlNamespaceUriContext _localctx = new XmlNamespaceUriContext(_ctx, getState());
39906 enterRule(_localctx, 760, RULE_xmlNamespaceUri);
39907 try {
39908 enterOuterAlt(_localctx, 1);
39909 {
39910 setState(5448);
39911 stringLiterals();
39912 }
39913 }
39914 catch (RecognitionException re) {
39915 _localctx.exception = re;
39916 _errHandler.reportError(this, re);
39917 _errHandler.recover(this, re);
39918 }
39919 finally {
39920 exitRule();
39921 }
39922 return _localctx;
39923 }
39924
39925 public static class XmlNamespacePrefixContext extends ParserRuleContext {
39926 public IdentifierContext identifier() {
39927 return getRuleContext(IdentifierContext.class,0);
39928 }
39929 public XmlNamespacePrefixContext(ParserRuleContext parent, int invokingState) {
39930 super(parent, invokingState);
39931 }
39932 @Override public int getRuleIndex() { return RULE_xmlNamespacePrefix; }
39933 @Override
39934 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39935 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlNamespacePrefix(this);
39936 else return visitor.visitChildren(this);
39937 }
39938 }
39939
39940 public final XmlNamespacePrefixContext xmlNamespacePrefix() throws RecognitionException {
39941 XmlNamespacePrefixContext _localctx = new XmlNamespacePrefixContext(_ctx, getState());
39942 enterRule(_localctx, 762, RULE_xmlNamespacePrefix);
39943 try {
39944 enterOuterAlt(_localctx, 1);
39945 {
39946 setState(5450);
39947 identifier();
39948 }
39949 }
39950 catch (RecognitionException re) {
39951 _localctx.exception = re;
39952 _errHandler.reportError(this, re);
39953 _errHandler.recover(this, re);
39954 }
39955 finally {
39956 exitRule();
39957 }
39958 return _localctx;
39959 }
39960
39961 public static class XmlDefaultNamespaceDeclarationItemContext extends ParserRuleContext {
39962 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
39963 public XmlNamespaceUriContext xmlNamespaceUri() {
39964 return getRuleContext(XmlNamespaceUriContext.class,0);
39965 }
39966 public XmlDefaultNamespaceDeclarationItemContext(ParserRuleContext parent, int invokingState) {
39967 super(parent, invokingState);
39968 }
39969 @Override public int getRuleIndex() { return RULE_xmlDefaultNamespaceDeclarationItem; }
39970 @Override
39971 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
39972 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlDefaultNamespaceDeclarationItem(this);
39973 else return visitor.visitChildren(this);
39974 }
39975 }
39976
39977 public final XmlDefaultNamespaceDeclarationItemContext xmlDefaultNamespaceDeclarationItem() throws RecognitionException {
39978 XmlDefaultNamespaceDeclarationItemContext _localctx = new XmlDefaultNamespaceDeclarationItemContext(_ctx, getState());
39979 enterRule(_localctx, 764, RULE_xmlDefaultNamespaceDeclarationItem);
39980 try {
39981 enterOuterAlt(_localctx, 1);
39982 {
39983 setState(5452);
39984 match(DEFAULT);
39985 setState(5453);
39986 xmlNamespaceUri();
39987 }
39988 }
39989 catch (RecognitionException re) {
39990 _localctx.exception = re;
39991 _errHandler.reportError(this, re);
39992 _errHandler.recover(this, re);
39993 }
39994 finally {
39995 exitRule();
39996 }
39997 return _localctx;
39998 }
39999
40000 public static class GrantContext extends ParserRuleContext {
40001 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
40002 public GrantClassPrivilegesClauseContext grantClassPrivilegesClause() {
40003 return getRuleContext(GrantClassPrivilegesClauseContext.class,0);
40004 }
40005 public GrantClassTypePrivilegesClauseContext grantClassTypePrivilegesClause() {
40006 return getRuleContext(GrantClassTypePrivilegesClauseContext.class,0);
40007 }
40008 public GrantContext(ParserRuleContext parent, int invokingState) {
40009 super(parent, invokingState);
40010 }
40011 @Override public int getRuleIndex() { return RULE_grant; }
40012 @Override
40013 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40014 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrant(this);
40015 else return visitor.visitChildren(this);
40016 }
40017 }
40018
40019 public final GrantContext grant() throws RecognitionException {
40020 GrantContext _localctx = new GrantContext(_ctx, getState());
40021 enterRule(_localctx, 766, RULE_grant);
40022 try {
40023 enterOuterAlt(_localctx, 1);
40024 {
40025 setState(5455);
40026 match(GRANT);
40027 setState(5458);
40028 _errHandler.sync(this);
40029 switch ( getInterpreter().adaptivePredict(_input,626,_ctx) ) {
40030 case 1:
40031 {
40032 setState(5456);
40033 grantClassPrivilegesClause();
40034 }
40035 break;
40036 case 2:
40037 {
40038 setState(5457);
40039 grantClassTypePrivilegesClause();
40040 }
40041 break;
40042 }
40043 }
40044 }
40045 catch (RecognitionException re) {
40046 _localctx.exception = re;
40047 _errHandler.reportError(this, re);
40048 _errHandler.recover(this, re);
40049 }
40050 finally {
40051 exitRule();
40052 }
40053 return _localctx;
40054 }
40055
40056 public static class GrantClassPrivilegesClauseContext extends ParserRuleContext {
40057 public ClassPrivilegesContext classPrivileges() {
40058 return getRuleContext(ClassPrivilegesContext.class,0);
40059 }
40060 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
40061 public List<PrincipalContext> principal() {
40062 return getRuleContexts(PrincipalContext.class);
40063 }
40064 public PrincipalContext principal(int i) {
40065 return getRuleContext(PrincipalContext.class,i);
40066 }
40067 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
40068 public OnClassClauseContext onClassClause() {
40069 return getRuleContext(OnClassClauseContext.class,0);
40070 }
40071 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40072 public TerminalNode COMMA_(int i) {
40073 return getToken(SQLServerStatementParser.COMMA_, i);
40074 }
40075 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
40076 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
40077 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
40078 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
40079 public GrantClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
40080 super(parent, invokingState);
40081 }
40082 @Override public int getRuleIndex() { return RULE_grantClassPrivilegesClause; }
40083 @Override
40084 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40085 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrantClassPrivilegesClause(this);
40086 else return visitor.visitChildren(this);
40087 }
40088 }
40089
40090 public final GrantClassPrivilegesClauseContext grantClassPrivilegesClause() throws RecognitionException {
40091 GrantClassPrivilegesClauseContext _localctx = new GrantClassPrivilegesClauseContext(_ctx, getState());
40092 enterRule(_localctx, 768, RULE_grantClassPrivilegesClause);
40093 int _la;
40094 try {
40095 enterOuterAlt(_localctx, 1);
40096 {
40097 setState(5460);
40098 classPrivileges();
40099 setState(5463);
40100 _errHandler.sync(this);
40101 _la = _input.LA(1);
40102 if (_la==ON) {
40103 {
40104 setState(5461);
40105 match(ON);
40106 setState(5462);
40107 onClassClause();
40108 }
40109 }
40110
40111 setState(5465);
40112 match(TO);
40113 setState(5466);
40114 principal();
40115 setState(5471);
40116 _errHandler.sync(this);
40117 _la = _input.LA(1);
40118 while (_la==COMMA_) {
40119 {
40120 {
40121 setState(5467);
40122 match(COMMA_);
40123 setState(5468);
40124 principal();
40125 }
40126 }
40127 setState(5473);
40128 _errHandler.sync(this);
40129 _la = _input.LA(1);
40130 }
40131 setState(5477);
40132 _errHandler.sync(this);
40133 _la = _input.LA(1);
40134 if (_la==WITH) {
40135 {
40136 setState(5474);
40137 match(WITH);
40138 setState(5475);
40139 match(GRANT);
40140 setState(5476);
40141 match(OPTION);
40142 }
40143 }
40144
40145 setState(5481);
40146 _errHandler.sync(this);
40147 _la = _input.LA(1);
40148 if (_la==AS) {
40149 {
40150 setState(5479);
40151 match(AS);
40152 setState(5480);
40153 principal();
40154 }
40155 }
40156
40157 }
40158 }
40159 catch (RecognitionException re) {
40160 _localctx.exception = re;
40161 _errHandler.reportError(this, re);
40162 _errHandler.recover(this, re);
40163 }
40164 finally {
40165 exitRule();
40166 }
40167 return _localctx;
40168 }
40169
40170 public static class GrantClassTypePrivilegesClauseContext extends ParserRuleContext {
40171 public ClassTypePrivilegesContext classTypePrivileges() {
40172 return getRuleContext(ClassTypePrivilegesContext.class,0);
40173 }
40174 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
40175 public List<PrincipalContext> principal() {
40176 return getRuleContexts(PrincipalContext.class);
40177 }
40178 public PrincipalContext principal(int i) {
40179 return getRuleContext(PrincipalContext.class,i);
40180 }
40181 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
40182 public OnClassTypeClauseContext onClassTypeClause() {
40183 return getRuleContext(OnClassTypeClauseContext.class,0);
40184 }
40185 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40186 public TerminalNode COMMA_(int i) {
40187 return getToken(SQLServerStatementParser.COMMA_, i);
40188 }
40189 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
40190 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
40191 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
40192 public GrantClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
40193 super(parent, invokingState);
40194 }
40195 @Override public int getRuleIndex() { return RULE_grantClassTypePrivilegesClause; }
40196 @Override
40197 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40198 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitGrantClassTypePrivilegesClause(this);
40199 else return visitor.visitChildren(this);
40200 }
40201 }
40202
40203 public final GrantClassTypePrivilegesClauseContext grantClassTypePrivilegesClause() throws RecognitionException {
40204 GrantClassTypePrivilegesClauseContext _localctx = new GrantClassTypePrivilegesClauseContext(_ctx, getState());
40205 enterRule(_localctx, 770, RULE_grantClassTypePrivilegesClause);
40206 int _la;
40207 try {
40208 enterOuterAlt(_localctx, 1);
40209 {
40210 setState(5483);
40211 classTypePrivileges();
40212 setState(5486);
40213 _errHandler.sync(this);
40214 _la = _input.LA(1);
40215 if (_la==ON) {
40216 {
40217 setState(5484);
40218 match(ON);
40219 setState(5485);
40220 onClassTypeClause();
40221 }
40222 }
40223
40224 setState(5488);
40225 match(TO);
40226 setState(5489);
40227 principal();
40228 setState(5494);
40229 _errHandler.sync(this);
40230 _la = _input.LA(1);
40231 while (_la==COMMA_) {
40232 {
40233 {
40234 setState(5490);
40235 match(COMMA_);
40236 setState(5491);
40237 principal();
40238 }
40239 }
40240 setState(5496);
40241 _errHandler.sync(this);
40242 _la = _input.LA(1);
40243 }
40244 setState(5500);
40245 _errHandler.sync(this);
40246 _la = _input.LA(1);
40247 if (_la==WITH) {
40248 {
40249 setState(5497);
40250 match(WITH);
40251 setState(5498);
40252 match(GRANT);
40253 setState(5499);
40254 match(OPTION);
40255 }
40256 }
40257
40258 }
40259 }
40260 catch (RecognitionException re) {
40261 _localctx.exception = re;
40262 _errHandler.reportError(this, re);
40263 _errHandler.recover(this, re);
40264 }
40265 finally {
40266 exitRule();
40267 }
40268 return _localctx;
40269 }
40270
40271 public static class ClassPrivilegesContext extends ParserRuleContext {
40272 public List<PrivilegeTypeContext> privilegeType() {
40273 return getRuleContexts(PrivilegeTypeContext.class);
40274 }
40275 public PrivilegeTypeContext privilegeType(int i) {
40276 return getRuleContext(PrivilegeTypeContext.class,i);
40277 }
40278 public List<ColumnNamesContext> columnNames() {
40279 return getRuleContexts(ColumnNamesContext.class);
40280 }
40281 public ColumnNamesContext columnNames(int i) {
40282 return getRuleContext(ColumnNamesContext.class,i);
40283 }
40284 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40285 public TerminalNode COMMA_(int i) {
40286 return getToken(SQLServerStatementParser.COMMA_, i);
40287 }
40288 public ClassPrivilegesContext(ParserRuleContext parent, int invokingState) {
40289 super(parent, invokingState);
40290 }
40291 @Override public int getRuleIndex() { return RULE_classPrivileges; }
40292 @Override
40293 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40294 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassPrivileges(this);
40295 else return visitor.visitChildren(this);
40296 }
40297 }
40298
40299 public final ClassPrivilegesContext classPrivileges() throws RecognitionException {
40300 ClassPrivilegesContext _localctx = new ClassPrivilegesContext(_ctx, getState());
40301 enterRule(_localctx, 772, RULE_classPrivileges);
40302 int _la;
40303 try {
40304 enterOuterAlt(_localctx, 1);
40305 {
40306 setState(5502);
40307 privilegeType();
40308 setState(5504);
40309 _errHandler.sync(this);
40310 _la = _input.LA(1);
40311 if (_la==LP_) {
40312 {
40313 setState(5503);
40314 columnNames();
40315 }
40316 }
40317
40318 setState(5513);
40319 _errHandler.sync(this);
40320 _la = _input.LA(1);
40321 while (_la==COMMA_) {
40322 {
40323 {
40324 setState(5506);
40325 match(COMMA_);
40326 setState(5507);
40327 privilegeType();
40328 setState(5509);
40329 _errHandler.sync(this);
40330 _la = _input.LA(1);
40331 if (_la==LP_) {
40332 {
40333 setState(5508);
40334 columnNames();
40335 }
40336 }
40337
40338 }
40339 }
40340 setState(5515);
40341 _errHandler.sync(this);
40342 _la = _input.LA(1);
40343 }
40344 }
40345 }
40346 catch (RecognitionException re) {
40347 _localctx.exception = re;
40348 _errHandler.reportError(this, re);
40349 _errHandler.recover(this, re);
40350 }
40351 finally {
40352 exitRule();
40353 }
40354 return _localctx;
40355 }
40356
40357 public static class OnClassClauseContext extends ParserRuleContext {
40358 public SecurableContext securable() {
40359 return getRuleContext(SecurableContext.class,0);
40360 }
40361 public ClassItemContext classItem() {
40362 return getRuleContext(ClassItemContext.class,0);
40363 }
40364 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
40365 public TerminalNode COLON_(int i) {
40366 return getToken(SQLServerStatementParser.COLON_, i);
40367 }
40368 public OnClassClauseContext(ParserRuleContext parent, int invokingState) {
40369 super(parent, invokingState);
40370 }
40371 @Override public int getRuleIndex() { return RULE_onClassClause; }
40372 @Override
40373 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40374 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnClassClause(this);
40375 else return visitor.visitChildren(this);
40376 }
40377 }
40378
40379 public final OnClassClauseContext onClassClause() throws RecognitionException {
40380 OnClassClauseContext _localctx = new OnClassClauseContext(_ctx, getState());
40381 enterRule(_localctx, 774, RULE_onClassClause);
40382 try {
40383 enterOuterAlt(_localctx, 1);
40384 {
40385 setState(5520);
40386 _errHandler.sync(this);
40387 switch ( getInterpreter().adaptivePredict(_input,637,_ctx) ) {
40388 case 1:
40389 {
40390 setState(5516);
40391 classItem();
40392 setState(5517);
40393 match(COLON_);
40394 setState(5518);
40395 match(COLON_);
40396 }
40397 break;
40398 }
40399 setState(5522);
40400 securable();
40401 }
40402 }
40403 catch (RecognitionException re) {
40404 _localctx.exception = re;
40405 _errHandler.reportError(this, re);
40406 _errHandler.recover(this, re);
40407 }
40408 finally {
40409 exitRule();
40410 }
40411 return _localctx;
40412 }
40413
40414 public static class ClassTypePrivilegesContext extends ParserRuleContext {
40415 public List<PrivilegeTypeContext> privilegeType() {
40416 return getRuleContexts(PrivilegeTypeContext.class);
40417 }
40418 public PrivilegeTypeContext privilegeType(int i) {
40419 return getRuleContext(PrivilegeTypeContext.class,i);
40420 }
40421 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40422 public TerminalNode COMMA_(int i) {
40423 return getToken(SQLServerStatementParser.COMMA_, i);
40424 }
40425 public ClassTypePrivilegesContext(ParserRuleContext parent, int invokingState) {
40426 super(parent, invokingState);
40427 }
40428 @Override public int getRuleIndex() { return RULE_classTypePrivileges; }
40429 @Override
40430 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40431 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassTypePrivileges(this);
40432 else return visitor.visitChildren(this);
40433 }
40434 }
40435
40436 public final ClassTypePrivilegesContext classTypePrivileges() throws RecognitionException {
40437 ClassTypePrivilegesContext _localctx = new ClassTypePrivilegesContext(_ctx, getState());
40438 enterRule(_localctx, 776, RULE_classTypePrivileges);
40439 int _la;
40440 try {
40441 enterOuterAlt(_localctx, 1);
40442 {
40443 setState(5524);
40444 privilegeType();
40445 setState(5529);
40446 _errHandler.sync(this);
40447 _la = _input.LA(1);
40448 while (_la==COMMA_) {
40449 {
40450 {
40451 setState(5525);
40452 match(COMMA_);
40453 setState(5526);
40454 privilegeType();
40455 }
40456 }
40457 setState(5531);
40458 _errHandler.sync(this);
40459 _la = _input.LA(1);
40460 }
40461 }
40462 }
40463 catch (RecognitionException re) {
40464 _localctx.exception = re;
40465 _errHandler.reportError(this, re);
40466 _errHandler.recover(this, re);
40467 }
40468 finally {
40469 exitRule();
40470 }
40471 return _localctx;
40472 }
40473
40474 public static class OnClassTypeClauseContext extends ParserRuleContext {
40475 public SecurableContext securable() {
40476 return getRuleContext(SecurableContext.class,0);
40477 }
40478 public ClassTypeContext classType() {
40479 return getRuleContext(ClassTypeContext.class,0);
40480 }
40481 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
40482 public TerminalNode COLON_(int i) {
40483 return getToken(SQLServerStatementParser.COLON_, i);
40484 }
40485 public OnClassTypeClauseContext(ParserRuleContext parent, int invokingState) {
40486 super(parent, invokingState);
40487 }
40488 @Override public int getRuleIndex() { return RULE_onClassTypeClause; }
40489 @Override
40490 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40491 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOnClassTypeClause(this);
40492 else return visitor.visitChildren(this);
40493 }
40494 }
40495
40496 public final OnClassTypeClauseContext onClassTypeClause() throws RecognitionException {
40497 OnClassTypeClauseContext _localctx = new OnClassTypeClauseContext(_ctx, getState());
40498 enterRule(_localctx, 778, RULE_onClassTypeClause);
40499 try {
40500 enterOuterAlt(_localctx, 1);
40501 {
40502 setState(5536);
40503 _errHandler.sync(this);
40504 switch ( getInterpreter().adaptivePredict(_input,639,_ctx) ) {
40505 case 1:
40506 {
40507 setState(5532);
40508 classType();
40509 setState(5533);
40510 match(COLON_);
40511 setState(5534);
40512 match(COLON_);
40513 }
40514 break;
40515 }
40516 setState(5538);
40517 securable();
40518 }
40519 }
40520 catch (RecognitionException re) {
40521 _localctx.exception = re;
40522 _errHandler.reportError(this, re);
40523 _errHandler.recover(this, re);
40524 }
40525 finally {
40526 exitRule();
40527 }
40528 return _localctx;
40529 }
40530
40531 public static class SecurableContext extends ParserRuleContext {
40532 public NameContext name() {
40533 return getRuleContext(NameContext.class,0);
40534 }
40535 public OwnerContext owner() {
40536 return getRuleContext(OwnerContext.class,0);
40537 }
40538 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
40539 public SecurableContext(ParserRuleContext parent, int invokingState) {
40540 super(parent, invokingState);
40541 }
40542 @Override public int getRuleIndex() { return RULE_securable; }
40543 @Override
40544 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40545 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSecurable(this);
40546 else return visitor.visitChildren(this);
40547 }
40548 }
40549
40550 public final SecurableContext securable() throws RecognitionException {
40551 SecurableContext _localctx = new SecurableContext(_ctx, getState());
40552 enterRule(_localctx, 780, RULE_securable);
40553 try {
40554 enterOuterAlt(_localctx, 1);
40555 {
40556 setState(5543);
40557 _errHandler.sync(this);
40558 switch ( getInterpreter().adaptivePredict(_input,640,_ctx) ) {
40559 case 1:
40560 {
40561 setState(5540);
40562 owner();
40563 setState(5541);
40564 match(DOT_);
40565 }
40566 break;
40567 }
40568 setState(5545);
40569 name();
40570 }
40571 }
40572 catch (RecognitionException re) {
40573 _localctx.exception = re;
40574 _errHandler.reportError(this, re);
40575 _errHandler.recover(this, re);
40576 }
40577 finally {
40578 exitRule();
40579 }
40580 return _localctx;
40581 }
40582
40583 public static class PrincipalContext extends ParserRuleContext {
40584 public UserNameContext userName() {
40585 return getRuleContext(UserNameContext.class,0);
40586 }
40587 public PrincipalContext(ParserRuleContext parent, int invokingState) {
40588 super(parent, invokingState);
40589 }
40590 @Override public int getRuleIndex() { return RULE_principal; }
40591 @Override
40592 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40593 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrincipal(this);
40594 else return visitor.visitChildren(this);
40595 }
40596 }
40597
40598 public final PrincipalContext principal() throws RecognitionException {
40599 PrincipalContext _localctx = new PrincipalContext(_ctx, getState());
40600 enterRule(_localctx, 782, RULE_principal);
40601 try {
40602 enterOuterAlt(_localctx, 1);
40603 {
40604 setState(5547);
40605 userName();
40606 }
40607 }
40608 catch (RecognitionException re) {
40609 _localctx.exception = re;
40610 _errHandler.reportError(this, re);
40611 _errHandler.recover(this, re);
40612 }
40613 finally {
40614 exitRule();
40615 }
40616 return _localctx;
40617 }
40618
40619 public static class RevokeContext extends ParserRuleContext {
40620 public TerminalNode REVOKE() { return getToken(SQLServerStatementParser.REVOKE, 0); }
40621 public RevokeClassPrivilegesClauseContext revokeClassPrivilegesClause() {
40622 return getRuleContext(RevokeClassPrivilegesClauseContext.class,0);
40623 }
40624 public RevokeClassTypePrivilegesClauseContext revokeClassTypePrivilegesClause() {
40625 return getRuleContext(RevokeClassTypePrivilegesClauseContext.class,0);
40626 }
40627 public OptionForClauseContext optionForClause() {
40628 return getRuleContext(OptionForClauseContext.class,0);
40629 }
40630 public RevokeContext(ParserRuleContext parent, int invokingState) {
40631 super(parent, invokingState);
40632 }
40633 @Override public int getRuleIndex() { return RULE_revoke; }
40634 @Override
40635 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40636 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevoke(this);
40637 else return visitor.visitChildren(this);
40638 }
40639 }
40640
40641 public final RevokeContext revoke() throws RecognitionException {
40642 RevokeContext _localctx = new RevokeContext(_ctx, getState());
40643 enterRule(_localctx, 784, RULE_revoke);
40644 int _la;
40645 try {
40646 enterOuterAlt(_localctx, 1);
40647 {
40648 setState(5549);
40649 match(REVOKE);
40650 setState(5555);
40651 _errHandler.sync(this);
40652 switch ( getInterpreter().adaptivePredict(_input,642,_ctx) ) {
40653 case 1:
40654 {
40655 setState(5551);
40656 _errHandler.sync(this);
40657 _la = _input.LA(1);
40658 if (_la==GRANT) {
40659 {
40660 setState(5550);
40661 optionForClause();
40662 }
40663 }
40664
40665 setState(5553);
40666 revokeClassPrivilegesClause();
40667 }
40668 break;
40669 case 2:
40670 {
40671 setState(5554);
40672 revokeClassTypePrivilegesClause();
40673 }
40674 break;
40675 }
40676 }
40677 }
40678 catch (RecognitionException re) {
40679 _localctx.exception = re;
40680 _errHandler.reportError(this, re);
40681 _errHandler.recover(this, re);
40682 }
40683 finally {
40684 exitRule();
40685 }
40686 return _localctx;
40687 }
40688
40689 public static class RevokeClassPrivilegesClauseContext extends ParserRuleContext {
40690 public ClassPrivilegesContext classPrivileges() {
40691 return getRuleContext(ClassPrivilegesContext.class,0);
40692 }
40693 public List<PrincipalContext> principal() {
40694 return getRuleContexts(PrincipalContext.class);
40695 }
40696 public PrincipalContext principal(int i) {
40697 return getRuleContext(PrincipalContext.class,i);
40698 }
40699 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
40700 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
40701 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
40702 public OnClassClauseContext onClassClause() {
40703 return getRuleContext(OnClassClauseContext.class,0);
40704 }
40705 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40706 public TerminalNode COMMA_(int i) {
40707 return getToken(SQLServerStatementParser.COMMA_, i);
40708 }
40709 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
40710 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
40711 public RevokeClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
40712 super(parent, invokingState);
40713 }
40714 @Override public int getRuleIndex() { return RULE_revokeClassPrivilegesClause; }
40715 @Override
40716 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40717 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevokeClassPrivilegesClause(this);
40718 else return visitor.visitChildren(this);
40719 }
40720 }
40721
40722 public final RevokeClassPrivilegesClauseContext revokeClassPrivilegesClause() throws RecognitionException {
40723 RevokeClassPrivilegesClauseContext _localctx = new RevokeClassPrivilegesClauseContext(_ctx, getState());
40724 enterRule(_localctx, 786, RULE_revokeClassPrivilegesClause);
40725 int _la;
40726 try {
40727 enterOuterAlt(_localctx, 1);
40728 {
40729 setState(5557);
40730 classPrivileges();
40731 setState(5560);
40732 _errHandler.sync(this);
40733 _la = _input.LA(1);
40734 if (_la==ON) {
40735 {
40736 setState(5558);
40737 match(ON);
40738 setState(5559);
40739 onClassClause();
40740 }
40741 }
40742
40743 setState(5562);
40744 _la = _input.LA(1);
40745 if ( !(_la==FROM || _la==TO) ) {
40746 _errHandler.recoverInline(this);
40747 }
40748 else {
40749 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40750 _errHandler.reportMatch(this);
40751 consume();
40752 }
40753 setState(5563);
40754 principal();
40755 setState(5568);
40756 _errHandler.sync(this);
40757 _la = _input.LA(1);
40758 while (_la==COMMA_) {
40759 {
40760 {
40761 setState(5564);
40762 match(COMMA_);
40763 setState(5565);
40764 principal();
40765 }
40766 }
40767 setState(5570);
40768 _errHandler.sync(this);
40769 _la = _input.LA(1);
40770 }
40771 setState(5572);
40772 _errHandler.sync(this);
40773 _la = _input.LA(1);
40774 if (_la==CASCADE) {
40775 {
40776 setState(5571);
40777 match(CASCADE);
40778 }
40779 }
40780
40781 setState(5576);
40782 _errHandler.sync(this);
40783 _la = _input.LA(1);
40784 if (_la==AS) {
40785 {
40786 setState(5574);
40787 match(AS);
40788 setState(5575);
40789 principal();
40790 }
40791 }
40792
40793 }
40794 }
40795 catch (RecognitionException re) {
40796 _localctx.exception = re;
40797 _errHandler.reportError(this, re);
40798 _errHandler.recover(this, re);
40799 }
40800 finally {
40801 exitRule();
40802 }
40803 return _localctx;
40804 }
40805
40806 public static class RevokeClassTypePrivilegesClauseContext extends ParserRuleContext {
40807 public ClassTypePrivilegesContext classTypePrivileges() {
40808 return getRuleContext(ClassTypePrivilegesContext.class,0);
40809 }
40810 public List<PrincipalContext> principal() {
40811 return getRuleContexts(PrincipalContext.class);
40812 }
40813 public PrincipalContext principal(int i) {
40814 return getRuleContext(PrincipalContext.class,i);
40815 }
40816 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
40817 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
40818 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
40819 public OnClassTypeClauseContext onClassTypeClause() {
40820 return getRuleContext(OnClassTypeClauseContext.class,0);
40821 }
40822 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40823 public TerminalNode COMMA_(int i) {
40824 return getToken(SQLServerStatementParser.COMMA_, i);
40825 }
40826 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
40827 public RevokeClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
40828 super(parent, invokingState);
40829 }
40830 @Override public int getRuleIndex() { return RULE_revokeClassTypePrivilegesClause; }
40831 @Override
40832 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40833 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevokeClassTypePrivilegesClause(this);
40834 else return visitor.visitChildren(this);
40835 }
40836 }
40837
40838 public final RevokeClassTypePrivilegesClauseContext revokeClassTypePrivilegesClause() throws RecognitionException {
40839 RevokeClassTypePrivilegesClauseContext _localctx = new RevokeClassTypePrivilegesClauseContext(_ctx, getState());
40840 enterRule(_localctx, 788, RULE_revokeClassTypePrivilegesClause);
40841 int _la;
40842 try {
40843 enterOuterAlt(_localctx, 1);
40844 {
40845 setState(5578);
40846 classTypePrivileges();
40847 setState(5581);
40848 _errHandler.sync(this);
40849 _la = _input.LA(1);
40850 if (_la==ON) {
40851 {
40852 setState(5579);
40853 match(ON);
40854 setState(5580);
40855 onClassTypeClause();
40856 }
40857 }
40858
40859 setState(5583);
40860 _la = _input.LA(1);
40861 if ( !(_la==FROM || _la==TO) ) {
40862 _errHandler.recoverInline(this);
40863 }
40864 else {
40865 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
40866 _errHandler.reportMatch(this);
40867 consume();
40868 }
40869 setState(5584);
40870 principal();
40871 setState(5589);
40872 _errHandler.sync(this);
40873 _la = _input.LA(1);
40874 while (_la==COMMA_) {
40875 {
40876 {
40877 setState(5585);
40878 match(COMMA_);
40879 setState(5586);
40880 principal();
40881 }
40882 }
40883 setState(5591);
40884 _errHandler.sync(this);
40885 _la = _input.LA(1);
40886 }
40887 setState(5593);
40888 _errHandler.sync(this);
40889 _la = _input.LA(1);
40890 if (_la==CASCADE) {
40891 {
40892 setState(5592);
40893 match(CASCADE);
40894 }
40895 }
40896
40897 }
40898 }
40899 catch (RecognitionException re) {
40900 _localctx.exception = re;
40901 _errHandler.reportError(this, re);
40902 _errHandler.recover(this, re);
40903 }
40904 finally {
40905 exitRule();
40906 }
40907 return _localctx;
40908 }
40909
40910 public static class DenyContext extends ParserRuleContext {
40911 public TerminalNode DENY() { return getToken(SQLServerStatementParser.DENY, 0); }
40912 public DenyClassPrivilegesClauseContext denyClassPrivilegesClause() {
40913 return getRuleContext(DenyClassPrivilegesClauseContext.class,0);
40914 }
40915 public DenyClassTypePrivilegesClauseContext denyClassTypePrivilegesClause() {
40916 return getRuleContext(DenyClassTypePrivilegesClauseContext.class,0);
40917 }
40918 public DenyContext(ParserRuleContext parent, int invokingState) {
40919 super(parent, invokingState);
40920 }
40921 @Override public int getRuleIndex() { return RULE_deny; }
40922 @Override
40923 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40924 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDeny(this);
40925 else return visitor.visitChildren(this);
40926 }
40927 }
40928
40929 public final DenyContext deny() throws RecognitionException {
40930 DenyContext _localctx = new DenyContext(_ctx, getState());
40931 enterRule(_localctx, 790, RULE_deny);
40932 try {
40933 enterOuterAlt(_localctx, 1);
40934 {
40935 setState(5595);
40936 match(DENY);
40937 setState(5598);
40938 _errHandler.sync(this);
40939 switch ( getInterpreter().adaptivePredict(_input,650,_ctx) ) {
40940 case 1:
40941 {
40942 setState(5596);
40943 denyClassPrivilegesClause();
40944 }
40945 break;
40946 case 2:
40947 {
40948 setState(5597);
40949 denyClassTypePrivilegesClause();
40950 }
40951 break;
40952 }
40953 }
40954 }
40955 catch (RecognitionException re) {
40956 _localctx.exception = re;
40957 _errHandler.reportError(this, re);
40958 _errHandler.recover(this, re);
40959 }
40960 finally {
40961 exitRule();
40962 }
40963 return _localctx;
40964 }
40965
40966 public static class DenyClassPrivilegesClauseContext extends ParserRuleContext {
40967 public ClassPrivilegesContext classPrivileges() {
40968 return getRuleContext(ClassPrivilegesContext.class,0);
40969 }
40970 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
40971 public List<PrincipalContext> principal() {
40972 return getRuleContexts(PrincipalContext.class);
40973 }
40974 public PrincipalContext principal(int i) {
40975 return getRuleContext(PrincipalContext.class,i);
40976 }
40977 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
40978 public OnClassClauseContext onClassClause() {
40979 return getRuleContext(OnClassClauseContext.class,0);
40980 }
40981 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
40982 public TerminalNode COMMA_(int i) {
40983 return getToken(SQLServerStatementParser.COMMA_, i);
40984 }
40985 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
40986 public TerminalNode AS() { return getToken(SQLServerStatementParser.AS, 0); }
40987 public DenyClassPrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
40988 super(parent, invokingState);
40989 }
40990 @Override public int getRuleIndex() { return RULE_denyClassPrivilegesClause; }
40991 @Override
40992 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
40993 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDenyClassPrivilegesClause(this);
40994 else return visitor.visitChildren(this);
40995 }
40996 }
40997
40998 public final DenyClassPrivilegesClauseContext denyClassPrivilegesClause() throws RecognitionException {
40999 DenyClassPrivilegesClauseContext _localctx = new DenyClassPrivilegesClauseContext(_ctx, getState());
41000 enterRule(_localctx, 792, RULE_denyClassPrivilegesClause);
41001 int _la;
41002 try {
41003 enterOuterAlt(_localctx, 1);
41004 {
41005 setState(5600);
41006 classPrivileges();
41007 setState(5603);
41008 _errHandler.sync(this);
41009 _la = _input.LA(1);
41010 if (_la==ON) {
41011 {
41012 setState(5601);
41013 match(ON);
41014 setState(5602);
41015 onClassClause();
41016 }
41017 }
41018
41019 setState(5605);
41020 match(TO);
41021 setState(5606);
41022 principal();
41023 setState(5611);
41024 _errHandler.sync(this);
41025 _la = _input.LA(1);
41026 while (_la==COMMA_) {
41027 {
41028 {
41029 setState(5607);
41030 match(COMMA_);
41031 setState(5608);
41032 principal();
41033 }
41034 }
41035 setState(5613);
41036 _errHandler.sync(this);
41037 _la = _input.LA(1);
41038 }
41039 setState(5615);
41040 _errHandler.sync(this);
41041 _la = _input.LA(1);
41042 if (_la==CASCADE) {
41043 {
41044 setState(5614);
41045 match(CASCADE);
41046 }
41047 }
41048
41049 setState(5619);
41050 _errHandler.sync(this);
41051 _la = _input.LA(1);
41052 if (_la==AS) {
41053 {
41054 setState(5617);
41055 match(AS);
41056 setState(5618);
41057 principal();
41058 }
41059 }
41060
41061 }
41062 }
41063 catch (RecognitionException re) {
41064 _localctx.exception = re;
41065 _errHandler.reportError(this, re);
41066 _errHandler.recover(this, re);
41067 }
41068 finally {
41069 exitRule();
41070 }
41071 return _localctx;
41072 }
41073
41074 public static class DenyClassTypePrivilegesClauseContext extends ParserRuleContext {
41075 public ClassTypePrivilegesContext classTypePrivileges() {
41076 return getRuleContext(ClassTypePrivilegesContext.class,0);
41077 }
41078 public TerminalNode TO() { return getToken(SQLServerStatementParser.TO, 0); }
41079 public List<PrincipalContext> principal() {
41080 return getRuleContexts(PrincipalContext.class);
41081 }
41082 public PrincipalContext principal(int i) {
41083 return getRuleContext(PrincipalContext.class,i);
41084 }
41085 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
41086 public OnClassTypeClauseContext onClassTypeClause() {
41087 return getRuleContext(OnClassTypeClauseContext.class,0);
41088 }
41089 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
41090 public TerminalNode COMMA_(int i) {
41091 return getToken(SQLServerStatementParser.COMMA_, i);
41092 }
41093 public TerminalNode CASCADE() { return getToken(SQLServerStatementParser.CASCADE, 0); }
41094 public DenyClassTypePrivilegesClauseContext(ParserRuleContext parent, int invokingState) {
41095 super(parent, invokingState);
41096 }
41097 @Override public int getRuleIndex() { return RULE_denyClassTypePrivilegesClause; }
41098 @Override
41099 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41100 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDenyClassTypePrivilegesClause(this);
41101 else return visitor.visitChildren(this);
41102 }
41103 }
41104
41105 public final DenyClassTypePrivilegesClauseContext denyClassTypePrivilegesClause() throws RecognitionException {
41106 DenyClassTypePrivilegesClauseContext _localctx = new DenyClassTypePrivilegesClauseContext(_ctx, getState());
41107 enterRule(_localctx, 794, RULE_denyClassTypePrivilegesClause);
41108 int _la;
41109 try {
41110 enterOuterAlt(_localctx, 1);
41111 {
41112 setState(5621);
41113 classTypePrivileges();
41114 setState(5624);
41115 _errHandler.sync(this);
41116 _la = _input.LA(1);
41117 if (_la==ON) {
41118 {
41119 setState(5622);
41120 match(ON);
41121 setState(5623);
41122 onClassTypeClause();
41123 }
41124 }
41125
41126 setState(5626);
41127 match(TO);
41128 setState(5627);
41129 principal();
41130 setState(5632);
41131 _errHandler.sync(this);
41132 _la = _input.LA(1);
41133 while (_la==COMMA_) {
41134 {
41135 {
41136 setState(5628);
41137 match(COMMA_);
41138 setState(5629);
41139 principal();
41140 }
41141 }
41142 setState(5634);
41143 _errHandler.sync(this);
41144 _la = _input.LA(1);
41145 }
41146 setState(5636);
41147 _errHandler.sync(this);
41148 _la = _input.LA(1);
41149 if (_la==CASCADE) {
41150 {
41151 setState(5635);
41152 match(CASCADE);
41153 }
41154 }
41155
41156 }
41157 }
41158 catch (RecognitionException re) {
41159 _localctx.exception = re;
41160 _errHandler.reportError(this, re);
41161 _errHandler.recover(this, re);
41162 }
41163 finally {
41164 exitRule();
41165 }
41166 return _localctx;
41167 }
41168
41169 public static class OptionForClauseContext extends ParserRuleContext {
41170 public TerminalNode GRANT() { return getToken(SQLServerStatementParser.GRANT, 0); }
41171 public TerminalNode OPTION() { return getToken(SQLServerStatementParser.OPTION, 0); }
41172 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
41173 public OptionForClauseContext(ParserRuleContext parent, int invokingState) {
41174 super(parent, invokingState);
41175 }
41176 @Override public int getRuleIndex() { return RULE_optionForClause; }
41177 @Override
41178 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41179 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionForClause(this);
41180 else return visitor.visitChildren(this);
41181 }
41182 }
41183
41184 public final OptionForClauseContext optionForClause() throws RecognitionException {
41185 OptionForClauseContext _localctx = new OptionForClauseContext(_ctx, getState());
41186 enterRule(_localctx, 796, RULE_optionForClause);
41187 try {
41188 enterOuterAlt(_localctx, 1);
41189 {
41190 setState(5638);
41191 match(GRANT);
41192 setState(5639);
41193 match(OPTION);
41194 setState(5640);
41195 match(FOR);
41196 }
41197 }
41198 catch (RecognitionException re) {
41199 _localctx.exception = re;
41200 _errHandler.reportError(this, re);
41201 _errHandler.recover(this, re);
41202 }
41203 finally {
41204 exitRule();
41205 }
41206 return _localctx;
41207 }
41208
41209 public static class PrivilegeTypeContext extends ParserRuleContext {
41210 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
41211 public TerminalNode PRIVILEGES() { return getToken(SQLServerStatementParser.PRIVILEGES, 0); }
41212 public AssemblyPermissionContext assemblyPermission() {
41213 return getRuleContext(AssemblyPermissionContext.class,0);
41214 }
41215 public AsymmetricKeyPermissionContext asymmetricKeyPermission() {
41216 return getRuleContext(AsymmetricKeyPermissionContext.class,0);
41217 }
41218 public AvailabilityGroupPermissionContext availabilityGroupPermission() {
41219 return getRuleContext(AvailabilityGroupPermissionContext.class,0);
41220 }
41221 public CertificatePermissionContext certificatePermission() {
41222 return getRuleContext(CertificatePermissionContext.class,0);
41223 }
41224 public ObjectPermissionContext objectPermission() {
41225 return getRuleContext(ObjectPermissionContext.class,0);
41226 }
41227 public SystemObjectPermissionContext systemObjectPermission() {
41228 return getRuleContext(SystemObjectPermissionContext.class,0);
41229 }
41230 public DatabasePermissionContext databasePermission() {
41231 return getRuleContext(DatabasePermissionContext.class,0);
41232 }
41233 public DatabasePrincipalPermissionContext databasePrincipalPermission() {
41234 return getRuleContext(DatabasePrincipalPermissionContext.class,0);
41235 }
41236 public DatabaseScopedCredentialPermissionContext databaseScopedCredentialPermission() {
41237 return getRuleContext(DatabaseScopedCredentialPermissionContext.class,0);
41238 }
41239 public EndpointPermissionContext endpointPermission() {
41240 return getRuleContext(EndpointPermissionContext.class,0);
41241 }
41242 public FullTextPermissionContext fullTextPermission() {
41243 return getRuleContext(FullTextPermissionContext.class,0);
41244 }
41245 public SchemaPermissionContext schemaPermission() {
41246 return getRuleContext(SchemaPermissionContext.class,0);
41247 }
41248 public SearchPropertyListPermissionContext searchPropertyListPermission() {
41249 return getRuleContext(SearchPropertyListPermissionContext.class,0);
41250 }
41251 public ServerPermissionContext serverPermission() {
41252 return getRuleContext(ServerPermissionContext.class,0);
41253 }
41254 public ServerPrincipalPermissionContext serverPrincipalPermission() {
41255 return getRuleContext(ServerPrincipalPermissionContext.class,0);
41256 }
41257 public ServiceBrokerPermissionContext serviceBrokerPermission() {
41258 return getRuleContext(ServiceBrokerPermissionContext.class,0);
41259 }
41260 public SymmetricKeyPermissionContext symmetricKeyPermission() {
41261 return getRuleContext(SymmetricKeyPermissionContext.class,0);
41262 }
41263 public TypePermissionContext typePermission() {
41264 return getRuleContext(TypePermissionContext.class,0);
41265 }
41266 public XmlSchemaCollectionPermissionContext xmlSchemaCollectionPermission() {
41267 return getRuleContext(XmlSchemaCollectionPermissionContext.class,0);
41268 }
41269 public PrivilegeTypeContext(ParserRuleContext parent, int invokingState) {
41270 super(parent, invokingState);
41271 }
41272 @Override public int getRuleIndex() { return RULE_privilegeType; }
41273 @Override
41274 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41275 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPrivilegeType(this);
41276 else return visitor.visitChildren(this);
41277 }
41278 }
41279
41280 public final PrivilegeTypeContext privilegeType() throws RecognitionException {
41281 PrivilegeTypeContext _localctx = new PrivilegeTypeContext(_ctx, getState());
41282 enterRule(_localctx, 798, RULE_privilegeType);
41283 int _la;
41284 try {
41285 setState(5665);
41286 _errHandler.sync(this);
41287 switch ( getInterpreter().adaptivePredict(_input,659,_ctx) ) {
41288 case 1:
41289 enterOuterAlt(_localctx, 1);
41290 {
41291 setState(5642);
41292 match(ALL);
41293 setState(5644);
41294 _errHandler.sync(this);
41295 _la = _input.LA(1);
41296 if (_la==PRIVILEGES) {
41297 {
41298 setState(5643);
41299 match(PRIVILEGES);
41300 }
41301 }
41302
41303 }
41304 break;
41305 case 2:
41306 enterOuterAlt(_localctx, 2);
41307 {
41308 setState(5646);
41309 assemblyPermission();
41310 }
41311 break;
41312 case 3:
41313 enterOuterAlt(_localctx, 3);
41314 {
41315 setState(5647);
41316 asymmetricKeyPermission();
41317 }
41318 break;
41319 case 4:
41320 enterOuterAlt(_localctx, 4);
41321 {
41322 setState(5648);
41323 availabilityGroupPermission();
41324 }
41325 break;
41326 case 5:
41327 enterOuterAlt(_localctx, 5);
41328 {
41329 setState(5649);
41330 certificatePermission();
41331 }
41332 break;
41333 case 6:
41334 enterOuterAlt(_localctx, 6);
41335 {
41336 setState(5650);
41337 objectPermission();
41338 }
41339 break;
41340 case 7:
41341 enterOuterAlt(_localctx, 7);
41342 {
41343 setState(5651);
41344 systemObjectPermission();
41345 }
41346 break;
41347 case 8:
41348 enterOuterAlt(_localctx, 8);
41349 {
41350 setState(5652);
41351 databasePermission();
41352 }
41353 break;
41354 case 9:
41355 enterOuterAlt(_localctx, 9);
41356 {
41357 setState(5653);
41358 databasePrincipalPermission();
41359 }
41360 break;
41361 case 10:
41362 enterOuterAlt(_localctx, 10);
41363 {
41364 setState(5654);
41365 databaseScopedCredentialPermission();
41366 }
41367 break;
41368 case 11:
41369 enterOuterAlt(_localctx, 11);
41370 {
41371 setState(5655);
41372 endpointPermission();
41373 }
41374 break;
41375 case 12:
41376 enterOuterAlt(_localctx, 12);
41377 {
41378 setState(5656);
41379 fullTextPermission();
41380 }
41381 break;
41382 case 13:
41383 enterOuterAlt(_localctx, 13);
41384 {
41385 setState(5657);
41386 schemaPermission();
41387 }
41388 break;
41389 case 14:
41390 enterOuterAlt(_localctx, 14);
41391 {
41392 setState(5658);
41393 searchPropertyListPermission();
41394 }
41395 break;
41396 case 15:
41397 enterOuterAlt(_localctx, 15);
41398 {
41399 setState(5659);
41400 serverPermission();
41401 }
41402 break;
41403 case 16:
41404 enterOuterAlt(_localctx, 16);
41405 {
41406 setState(5660);
41407 serverPrincipalPermission();
41408 }
41409 break;
41410 case 17:
41411 enterOuterAlt(_localctx, 17);
41412 {
41413 setState(5661);
41414 serviceBrokerPermission();
41415 }
41416 break;
41417 case 18:
41418 enterOuterAlt(_localctx, 18);
41419 {
41420 setState(5662);
41421 symmetricKeyPermission();
41422 }
41423 break;
41424 case 19:
41425 enterOuterAlt(_localctx, 19);
41426 {
41427 setState(5663);
41428 typePermission();
41429 }
41430 break;
41431 case 20:
41432 enterOuterAlt(_localctx, 20);
41433 {
41434 setState(5664);
41435 xmlSchemaCollectionPermission();
41436 }
41437 break;
41438 }
41439 }
41440 catch (RecognitionException re) {
41441 _localctx.exception = re;
41442 _errHandler.reportError(this, re);
41443 _errHandler.recover(this, re);
41444 }
41445 finally {
41446 exitRule();
41447 }
41448 return _localctx;
41449 }
41450
41451 public static class ObjectPermissionContext extends ParserRuleContext {
41452 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
41453 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
41454 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
41455 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
41456 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
41457 public TerminalNode RECEIVE() { return getToken(SQLServerStatementParser.RECEIVE, 0); }
41458 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
41459 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
41460 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
41461 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
41462 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
41463 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
41464 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
41465 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
41466 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
41467 public ObjectPermissionContext(ParserRuleContext parent, int invokingState) {
41468 super(parent, invokingState);
41469 }
41470 @Override public int getRuleIndex() { return RULE_objectPermission; }
41471 @Override
41472 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41473 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitObjectPermission(this);
41474 else return visitor.visitChildren(this);
41475 }
41476 }
41477
41478 public final ObjectPermissionContext objectPermission() throws RecognitionException {
41479 ObjectPermissionContext _localctx = new ObjectPermissionContext(_ctx, getState());
41480 enterRule(_localctx, 800, RULE_objectPermission);
41481 try {
41482 setState(5683);
41483 _errHandler.sync(this);
41484 switch ( getInterpreter().adaptivePredict(_input,660,_ctx) ) {
41485 case 1:
41486 enterOuterAlt(_localctx, 1);
41487 {
41488 setState(5667);
41489 match(ALTER);
41490 }
41491 break;
41492 case 2:
41493 enterOuterAlt(_localctx, 2);
41494 {
41495 setState(5668);
41496 match(CONTROL);
41497 }
41498 break;
41499 case 3:
41500 enterOuterAlt(_localctx, 3);
41501 {
41502 setState(5669);
41503 match(DELETE);
41504 }
41505 break;
41506 case 4:
41507 enterOuterAlt(_localctx, 4);
41508 {
41509 setState(5670);
41510 match(EXECUTE);
41511 }
41512 break;
41513 case 5:
41514 enterOuterAlt(_localctx, 5);
41515 {
41516 setState(5671);
41517 match(INSERT);
41518 }
41519 break;
41520 case 6:
41521 enterOuterAlt(_localctx, 6);
41522 {
41523 setState(5672);
41524 match(RECEIVE);
41525 }
41526 break;
41527 case 7:
41528 enterOuterAlt(_localctx, 7);
41529 {
41530 setState(5673);
41531 match(REFERENCES);
41532 }
41533 break;
41534 case 8:
41535 enterOuterAlt(_localctx, 8);
41536 {
41537 setState(5674);
41538 match(SELECT);
41539 }
41540 break;
41541 case 9:
41542 enterOuterAlt(_localctx, 9);
41543 {
41544 setState(5675);
41545 match(TAKE);
41546 setState(5676);
41547 match(OWNERSHIP);
41548 }
41549 break;
41550 case 10:
41551 enterOuterAlt(_localctx, 10);
41552 {
41553 setState(5677);
41554 match(UPDATE);
41555 }
41556 break;
41557 case 11:
41558 enterOuterAlt(_localctx, 11);
41559 {
41560 setState(5678);
41561 match(VIEW);
41562 setState(5679);
41563 match(CHANGE);
41564 setState(5680);
41565 match(TRACKING);
41566 }
41567 break;
41568 case 12:
41569 enterOuterAlt(_localctx, 12);
41570 {
41571 setState(5681);
41572 match(VIEW);
41573 setState(5682);
41574 match(DEFINITION);
41575 }
41576 break;
41577 }
41578 }
41579 catch (RecognitionException re) {
41580 _localctx.exception = re;
41581 _errHandler.reportError(this, re);
41582 _errHandler.recover(this, re);
41583 }
41584 finally {
41585 exitRule();
41586 }
41587 return _localctx;
41588 }
41589
41590 public static class ServerPermissionContext extends ParserRuleContext {
41591 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
41592 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
41593 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
41594 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
41595 public TerminalNode RESOURCES() { return getToken(SQLServerStatementParser.RESOURCES, 0); }
41596 public TerminalNode SETTINGS() { return getToken(SQLServerStatementParser.SETTINGS, 0); }
41597 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
41598 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
41599 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
41600 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
41601 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
41602 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
41603 public TerminalNode CONNECTION() { return getToken(SQLServerStatementParser.CONNECTION, 0); }
41604 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
41605 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
41606 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
41607 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
41608 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
41609 public TerminalNode SESSION() { return getToken(SQLServerStatementParser.SESSION, 0); }
41610 public TerminalNode LINKED() { return getToken(SQLServerStatementParser.LINKED, 0); }
41611 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
41612 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
41613 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
41614 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
41615 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
41616 public TerminalNode SQL() { return getToken(SQLServerStatementParser.SQL, 0); }
41617 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
41618 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
41619 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
41620 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
41621 public TerminalNode ACCESS() { return getToken(SQLServerStatementParser.ACCESS, 0); }
41622 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
41623 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
41624 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
41625 public TerminalNode ALL() { return getToken(SQLServerStatementParser.ALL, 0); }
41626 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
41627 public TerminalNode SECURABLES() { return getToken(SQLServerStatementParser.SECURABLES, 0); }
41628 public TerminalNode SHUTDOWN() { return getToken(SQLServerStatementParser.SHUTDOWN, 0); }
41629 public TerminalNode UNSAFE() { return getToken(SQLServerStatementParser.UNSAFE, 0); }
41630 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
41631 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
41632 public ServerPermissionContext(ParserRuleContext parent, int invokingState) {
41633 super(parent, invokingState);
41634 }
41635 @Override public int getRuleIndex() { return RULE_serverPermission; }
41636 @Override
41637 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
41638 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServerPermission(this);
41639 else return visitor.visitChildren(this);
41640 }
41641 }
41642
41643 public final ServerPermissionContext serverPermission() throws RecognitionException {
41644 ServerPermissionContext _localctx = new ServerPermissionContext(_ctx, getState());
41645 enterRule(_localctx, 802, RULE_serverPermission);
41646 int _la;
41647 try {
41648 setState(5762);
41649 _errHandler.sync(this);
41650 switch ( getInterpreter().adaptivePredict(_input,664,_ctx) ) {
41651 case 1:
41652 enterOuterAlt(_localctx, 1);
41653 {
41654 setState(5685);
41655 match(ADMINISTER);
41656 setState(5686);
41657 match(BULK);
41658 setState(5687);
41659 match(OPERATIONS);
41660 }
41661 break;
41662 case 2:
41663 enterOuterAlt(_localctx, 2);
41664 {
41665 setState(5688);
41666 match(ALTER);
41667 setState(5694);
41668 _errHandler.sync(this);
41669 switch (_input.LA(1)) {
41670 case RESOURCES:
41671 {
41672 setState(5689);
41673 match(RESOURCES);
41674 }
41675 break;
41676 case SETTINGS:
41677 {
41678 setState(5690);
41679 match(SETTINGS);
41680 }
41681 break;
41682 case TRACE:
41683 {
41684 setState(5691);
41685 match(TRACE);
41686 }
41687 break;
41688 case SERVER:
41689 {
41690 setState(5692);
41691 match(SERVER);
41692 setState(5693);
41693 match(STATE);
41694 }
41695 break;
41696 default:
41697 throw new NoViableAltException(this);
41698 }
41699 }
41700 break;
41701 case 3:
41702 enterOuterAlt(_localctx, 3);
41703 {
41704 setState(5696);
41705 match(ALTER);
41706 setState(5697);
41707 match(ANY);
41708 setState(5715);
41709 _errHandler.sync(this);
41710 switch ( getInterpreter().adaptivePredict(_input,662,_ctx) ) {
41711 case 1:
41712 {
41713 setState(5698);
41714 match(AVAILABILITY);
41715 setState(5699);
41716 match(GROUP);
41717 }
41718 break;
41719 case 2:
41720 {
41721 setState(5700);
41722 match(CONNECTION);
41723 }
41724 break;
41725 case 3:
41726 {
41727 setState(5701);
41728 match(CREDENTIAL);
41729 }
41730 break;
41731 case 4:
41732 {
41733 setState(5702);
41734 match(DATABASE);
41735 }
41736 break;
41737 case 5:
41738 {
41739 setState(5703);
41740 match(ENDPOINT);
41741 }
41742 break;
41743 case 6:
41744 {
41745 setState(5704);
41746 match(EVENT);
41747 setState(5705);
41748 match(NOTIFICATION);
41749 }
41750 break;
41751 case 7:
41752 {
41753 setState(5706);
41754 match(EVENT);
41755 setState(5707);
41756 match(SESSION);
41757 }
41758 break;
41759 case 8:
41760 {
41761 setState(5708);
41762 match(LINKED);
41763 setState(5709);
41764 match(SERVER);
41765 }
41766 break;
41767 case 9:
41768 {
41769 setState(5710);
41770 match(LOGIN);
41771 }
41772 break;
41773 case 10:
41774 {
41775 setState(5711);
41776 match(SERVER);
41777 setState(5712);
41778 match(AUDIT);
41779 }
41780 break;
41781 case 11:
41782 {
41783 setState(5713);
41784 match(SERVER);
41785 setState(5714);
41786 match(ROLE);
41787 }
41788 break;
41789 }
41790 }
41791 break;
41792 case 4:
41793 enterOuterAlt(_localctx, 4);
41794 {
41795 setState(5717);
41796 match(AUTHENTICATE);
41797 setState(5718);
41798 match(SERVER);
41799 }
41800 break;
41801 case 5:
41802 enterOuterAlt(_localctx, 5);
41803 {
41804 setState(5719);
41805 match(CONNECT);
41806 setState(5720);
41807 match(ANY);
41808 setState(5721);
41809 match(DATABASE);
41810 }
41811 break;
41812 case 6:
41813 enterOuterAlt(_localctx, 6);
41814 {
41815 setState(5722);
41816 match(CONNECT);
41817 setState(5723);
41818 match(SQL);
41819 }
41820 break;
41821 case 7:
41822 enterOuterAlt(_localctx, 7);
41823 {
41824 setState(5724);
41825 match(CONTROL);
41826 setState(5725);
41827 match(SERVER);
41828 }
41829 break;
41830 case 8:
41831 enterOuterAlt(_localctx, 8);
41832 {
41833 setState(5726);
41834 match(CREATE);
41835 setState(5727);
41836 match(ANY);
41837 setState(5728);
41838 match(DATABASE);
41839 }
41840 break;
41841 case 9:
41842 enterOuterAlt(_localctx, 9);
41843 {
41844 setState(5729);
41845 match(CREATE);
41846 setState(5741);
41847 _errHandler.sync(this);
41848 switch (_input.LA(1)) {
41849 case AVAILABILITY:
41850 {
41851 setState(5730);
41852 match(AVAILABILITY);
41853 setState(5731);
41854 match(GROUP);
41855 }
41856 break;
41857 case DDL:
41858 {
41859 setState(5732);
41860 match(DDL);
41861 setState(5733);
41862 match(EVENT);
41863 setState(5734);
41864 match(NOTIFICATION);
41865 }
41866 break;
41867 case ENDPOINT:
41868 {
41869 setState(5735);
41870 match(ENDPOINT);
41871 }
41872 break;
41873 case SERVER:
41874 {
41875 setState(5736);
41876 match(SERVER);
41877 setState(5737);
41878 match(ROLE);
41879 }
41880 break;
41881 case TRACE:
41882 {
41883 setState(5738);
41884 match(TRACE);
41885 setState(5739);
41886 match(EVENT);
41887 setState(5740);
41888 match(NOTIFICATION);
41889 }
41890 break;
41891 default:
41892 throw new NoViableAltException(this);
41893 }
41894 }
41895 break;
41896 case 10:
41897 enterOuterAlt(_localctx, 10);
41898 {
41899 setState(5743);
41900 match(EXTERNAL);
41901 setState(5744);
41902 match(ACCESS);
41903 setState(5745);
41904 match(ASSEMBLY);
41905 }
41906 break;
41907 case 11:
41908 enterOuterAlt(_localctx, 11);
41909 {
41910 setState(5746);
41911 match(IMPERSONATE);
41912 setState(5747);
41913 match(ANY);
41914 setState(5748);
41915 match(LOGIN);
41916 }
41917 break;
41918 case 12:
41919 enterOuterAlt(_localctx, 12);
41920 {
41921 setState(5749);
41922 match(SELECT);
41923 setState(5750);
41924 match(ALL);
41925 setState(5751);
41926 match(USER);
41927 setState(5752);
41928 match(SECURABLES);
41929 }
41930 break;
41931 case 13:
41932 enterOuterAlt(_localctx, 13);
41933 {
41934 setState(5753);
41935 match(SHUTDOWN);
41936 }
41937 break;
41938 case 14:
41939 enterOuterAlt(_localctx, 14);
41940 {
41941 setState(5754);
41942 match(UNSAFE);
41943 setState(5755);
41944 match(ASSEMBLY);
41945 }
41946 break;
41947 case 15:
41948 enterOuterAlt(_localctx, 15);
41949 {
41950 setState(5756);
41951 match(VIEW);
41952 setState(5757);
41953 match(ANY);
41954 setState(5758);
41955 _la = _input.LA(1);
41956 if ( !(_la==DATABASE || _la==DEFINITION) ) {
41957 _errHandler.recoverInline(this);
41958 }
41959 else {
41960 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
41961 _errHandler.reportMatch(this);
41962 consume();
41963 }
41964 }
41965 break;
41966 case 16:
41967 enterOuterAlt(_localctx, 16);
41968 {
41969 setState(5759);
41970 match(VIEW);
41971 setState(5760);
41972 match(SERVER);
41973 setState(5761);
41974 match(STATE);
41975 }
41976 break;
41977 }
41978 }
41979 catch (RecognitionException re) {
41980 _localctx.exception = re;
41981 _errHandler.reportError(this, re);
41982 _errHandler.recover(this, re);
41983 }
41984 finally {
41985 exitRule();
41986 }
41987 return _localctx;
41988 }
41989
41990 public static class ServerPrincipalPermissionContext extends ParserRuleContext {
41991 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
41992 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
41993 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
41994 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
41995 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
41996 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
41997 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
41998 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
41999 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
42000 public ServerPrincipalPermissionContext(ParserRuleContext parent, int invokingState) {
42001 super(parent, invokingState);
42002 }
42003 @Override public int getRuleIndex() { return RULE_serverPrincipalPermission; }
42004 @Override
42005 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42006 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServerPrincipalPermission(this);
42007 else return visitor.visitChildren(this);
42008 }
42009 }
42010
42011 public final ServerPrincipalPermissionContext serverPrincipalPermission() throws RecognitionException {
42012 ServerPrincipalPermissionContext _localctx = new ServerPrincipalPermissionContext(_ctx, getState());
42013 enterRule(_localctx, 804, RULE_serverPrincipalPermission);
42014 int _la;
42015 try {
42016 setState(5782);
42017 _errHandler.sync(this);
42018 switch ( getInterpreter().adaptivePredict(_input,668,_ctx) ) {
42019 case 1:
42020 enterOuterAlt(_localctx, 1);
42021 {
42022 setState(5764);
42023 match(CONTROL);
42024 setState(5766);
42025 _errHandler.sync(this);
42026 _la = _input.LA(1);
42027 if (_la==SERVER) {
42028 {
42029 setState(5765);
42030 match(SERVER);
42031 }
42032 }
42033
42034 }
42035 break;
42036 case 2:
42037 enterOuterAlt(_localctx, 2);
42038 {
42039 setState(5768);
42040 match(IMPERSONATE);
42041 }
42042 break;
42043 case 3:
42044 enterOuterAlt(_localctx, 3);
42045 {
42046 setState(5769);
42047 match(VIEW);
42048 setState(5771);
42049 _errHandler.sync(this);
42050 _la = _input.LA(1);
42051 if (_la==ANY) {
42052 {
42053 setState(5770);
42054 match(ANY);
42055 }
42056 }
42057
42058 setState(5773);
42059 match(DEFINITION);
42060 }
42061 break;
42062 case 4:
42063 enterOuterAlt(_localctx, 4);
42064 {
42065 setState(5774);
42066 match(ALTER);
42067 }
42068 break;
42069 case 5:
42070 enterOuterAlt(_localctx, 5);
42071 {
42072 setState(5775);
42073 match(ALTER);
42074 setState(5776);
42075 match(ANY);
42076 setState(5780);
42077 _errHandler.sync(this);
42078 switch (_input.LA(1)) {
42079 case LOGIN:
42080 {
42081 setState(5777);
42082 match(LOGIN);
42083 }
42084 break;
42085 case SERVER:
42086 {
42087 setState(5778);
42088 match(SERVER);
42089 setState(5779);
42090 match(ROLE);
42091 }
42092 break;
42093 default:
42094 throw new NoViableAltException(this);
42095 }
42096 }
42097 break;
42098 }
42099 }
42100 catch (RecognitionException re) {
42101 _localctx.exception = re;
42102 _errHandler.reportError(this, re);
42103 _errHandler.recover(this, re);
42104 }
42105 finally {
42106 exitRule();
42107 }
42108 return _localctx;
42109 }
42110
42111 public static class DatabasePermissionContext extends ParserRuleContext {
42112 public TerminalNode ADMINISTER() { return getToken(SQLServerStatementParser.ADMINISTER, 0); }
42113 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
42114 public TerminalNode BULK() { return getToken(SQLServerStatementParser.BULK, 0); }
42115 public TerminalNode OPERATIONS() { return getToken(SQLServerStatementParser.OPERATIONS, 0); }
42116 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
42117 public TerminalNode TRACE() { return getToken(SQLServerStatementParser.TRACE, 0); }
42118 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
42119 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
42120 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
42121 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
42122 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
42123 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
42124 public TerminalNode CONNECTION() { return getToken(SQLServerStatementParser.CONNECTION, 0); }
42125 public TerminalNode COLUMN() { return getToken(SQLServerStatementParser.COLUMN, 0); }
42126 public TerminalNode MASTER() { return getToken(SQLServerStatementParser.MASTER, 0); }
42127 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
42128 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
42129 public TerminalNode DATASPACE() { return getToken(SQLServerStatementParser.DATASPACE, 0); }
42130 public TerminalNode EVENT() { return getToken(SQLServerStatementParser.EVENT, 0); }
42131 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
42132 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
42133 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
42134 public TerminalNode MASK() { return getToken(SQLServerStatementParser.MASK, 0); }
42135 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
42136 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
42137 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
42138 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
42139 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
42140 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
42141 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
42142 public TerminalNode AUDIT() { return getToken(SQLServerStatementParser.AUDIT, 0); }
42143 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
42144 public TerminalNode SECURITY() { return getToken(SQLServerStatementParser.SECURITY, 0); }
42145 public TerminalNode POLICY() { return getToken(SQLServerStatementParser.POLICY, 0); }
42146 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
42147 public TerminalNode NOTIFICATION() { return getToken(SQLServerStatementParser.NOTIFICATION, 0); }
42148 public TerminalNode SESSION() { return getToken(SQLServerStatementParser.SESSION, 0); }
42149 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
42150 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
42151 public TerminalNode ENCRYPTION() { return getToken(SQLServerStatementParser.ENCRYPTION, 0); }
42152 public TerminalNode DATA() { return getToken(SQLServerStatementParser.DATA, 0); }
42153 public TerminalNode SOURCE() { return getToken(SQLServerStatementParser.SOURCE, 0); }
42154 public TerminalNode FILE() { return getToken(SQLServerStatementParser.FILE, 0); }
42155 public TerminalNode FORMAT() { return getToken(SQLServerStatementParser.FORMAT, 0); }
42156 public TerminalNode LIBRARY() { return getToken(SQLServerStatementParser.LIBRARY, 0); }
42157 public TerminalNode DDL() { return getToken(SQLServerStatementParser.DDL, 0); }
42158 public TerminalNode TRIGGER() { return getToken(SQLServerStatementParser.TRIGGER, 0); }
42159 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
42160 public TerminalNode CONFIGURATION() { return getToken(SQLServerStatementParser.CONFIGURATION, 0); }
42161 public TerminalNode AUTHENTICATE() { return getToken(SQLServerStatementParser.AUTHENTICATE, 0); }
42162 public TerminalNode BACKUP() { return getToken(SQLServerStatementParser.BACKUP, 0); }
42163 public TerminalNode LOG() { return getToken(SQLServerStatementParser.LOG, 0); }
42164 public TerminalNode CHECKPOINT() { return getToken(SQLServerStatementParser.CHECKPOINT, 0); }
42165 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
42166 public TerminalNode REPLICATION() { return getToken(SQLServerStatementParser.REPLICATION, 0); }
42167 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
42168 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
42169 public TerminalNode AGGREGATE() { return getToken(SQLServerStatementParser.AGGREGATE, 0); }
42170 public TerminalNode DEFAULT() { return getToken(SQLServerStatementParser.DEFAULT, 0); }
42171 public TerminalNode FUNCTION() { return getToken(SQLServerStatementParser.FUNCTION, 0); }
42172 public TerminalNode PROCEDURE() { return getToken(SQLServerStatementParser.PROCEDURE, 0); }
42173 public TerminalNode QUEUE() { return getToken(SQLServerStatementParser.QUEUE, 0); }
42174 public TerminalNode RULE() { return getToken(SQLServerStatementParser.RULE, 0); }
42175 public TerminalNode SYNONYM() { return getToken(SQLServerStatementParser.SYNONYM, 0); }
42176 public TerminalNode TABLE() { return getToken(SQLServerStatementParser.TABLE, 0); }
42177 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
42178 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
42179 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
42180 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
42181 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
42182 public TerminalNode SCRIPT() { return getToken(SQLServerStatementParser.SCRIPT, 0); }
42183 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
42184 public TerminalNode KILL() { return getToken(SQLServerStatementParser.KILL, 0); }
42185 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
42186 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
42187 public TerminalNode SHOWPLAN() { return getToken(SQLServerStatementParser.SHOWPLAN, 0); }
42188 public TerminalNode SUBSCRIBE() { return getToken(SQLServerStatementParser.SUBSCRIBE, 0); }
42189 public TerminalNode QUERY() { return getToken(SQLServerStatementParser.QUERY, 0); }
42190 public TerminalNode NOTIFICATIONS() { return getToken(SQLServerStatementParser.NOTIFICATIONS, 0); }
42191 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
42192 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
42193 public TerminalNode UNMASK() { return getToken(SQLServerStatementParser.UNMASK, 0); }
42194 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
42195 public TerminalNode STATE() { return getToken(SQLServerStatementParser.STATE, 0); }
42196 public DatabasePermissionContext(ParserRuleContext parent, int invokingState) {
42197 super(parent, invokingState);
42198 }
42199 @Override public int getRuleIndex() { return RULE_databasePermission; }
42200 @Override
42201 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
42202 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabasePermission(this);
42203 else return visitor.visitChildren(this);
42204 }
42205 }
42206
42207 public final DatabasePermissionContext databasePermission() throws RecognitionException {
42208 DatabasePermissionContext _localctx = new DatabasePermissionContext(_ctx, getState());
42209 enterRule(_localctx, 806, RULE_databasePermission);
42210 int _la;
42211 try {
42212 setState(5951);
42213 _errHandler.sync(this);
42214 switch ( getInterpreter().adaptivePredict(_input,681,_ctx) ) {
42215 case 1:
42216 enterOuterAlt(_localctx, 1);
42217 {
42218 setState(5784);
42219 match(ADMINISTER);
42220 setState(5785);
42221 match(DATABASE);
42222 setState(5786);
42223 match(BULK);
42224 setState(5787);
42225 match(OPERATIONS);
42226 }
42227 break;
42228 case 2:
42229 enterOuterAlt(_localctx, 2);
42230 {
42231 setState(5788);
42232 match(ALTER);
42233 }
42234 break;
42235 case 3:
42236 enterOuterAlt(_localctx, 3);
42237 {
42238 setState(5789);
42239 match(ALTER);
42240 setState(5790);
42241 match(TRACE);
42242 }
42243 break;
42244 case 4:
42245 enterOuterAlt(_localctx, 4);
42246 {
42247 setState(5791);
42248 match(ALTER);
42249 setState(5792);
42250 match(ANY);
42251 setState(5850);
42252 _errHandler.sync(this);
42253 switch ( getInterpreter().adaptivePredict(_input,672,_ctx) ) {
42254 case 1:
42255 {
42256 setState(5793);
42257 match(APPLICATION);
42258 setState(5794);
42259 match(ROLE);
42260 }
42261 break;
42262 case 2:
42263 {
42264 setState(5795);
42265 match(ASSEMBLY);
42266 }
42267 break;
42268 case 3:
42269 {
42270 setState(5800);
42271 _errHandler.sync(this);
42272 switch (_input.LA(1)) {
42273 case SYMMETRIC:
42274 {
42275 setState(5796);
42276 match(SYMMETRIC);
42277 }
42278 break;
42279 case ASYMMETRIC:
42280 {
42281 setState(5797);
42282 match(ASYMMETRIC);
42283 }
42284 break;
42285 case COLUMN:
42286 {
42287 setState(5798);
42288 match(COLUMN);
42289 setState(5799);
42290 match(ENCRYPTION);
42291 }
42292 break;
42293 default:
42294 throw new NoViableAltException(this);
42295 }
42296 setState(5802);
42297 match(KEY);
42298 }
42299 break;
42300 case 4:
42301 {
42302 setState(5803);
42303 match(CERTIFICATE);
42304 }
42305 break;
42306 case 5:
42307 {
42308 setState(5804);
42309 match(CONNECTION);
42310 }
42311 break;
42312 case 6:
42313 {
42314 setState(5805);
42315 match(COLUMN);
42316 setState(5806);
42317 match(MASTER);
42318 setState(5807);
42319 match(KEY);
42320 setState(5808);
42321 match(DEFINITION);
42322 }
42323 break;
42324 case 7:
42325 {
42326 setState(5809);
42327 match(CONTRACT);
42328 }
42329 break;
42330 case 8:
42331 {
42332 setState(5810);
42333 match(DATABASE);
42334 setState(5820);
42335 _errHandler.sync(this);
42336 switch ( getInterpreter().adaptivePredict(_input,670,_ctx) ) {
42337 case 1:
42338 {
42339 setState(5811);
42340 match(AUDIT);
42341 }
42342 break;
42343 case 2:
42344 {
42345 setState(5812);
42346 match(DDL);
42347 setState(5813);
42348 match(TRIGGER);
42349 }
42350 break;
42351 case 3:
42352 {
42353 setState(5814);
42354 match(EVENT);
42355 setState(5815);
42356 match(NOTIFICATION);
42357 }
42358 break;
42359 case 4:
42360 {
42361 setState(5816);
42362 match(EVENT);
42363 setState(5817);
42364 match(SESSION);
42365 }
42366 break;
42367 case 5:
42368 {
42369 setState(5818);
42370 match(SCOPED);
42371 setState(5819);
42372 match(CONFIGURATION);
42373 }
42374 break;
42375 }
42376 }
42377 break;
42378 case 9:
42379 {
42380 setState(5822);
42381 match(DATASPACE);
42382 }
42383 break;
42384 case 10:
42385 {
42386 setState(5823);
42387 match(EVENT);
42388 setState(5824);
42389 _la = _input.LA(1);
42390 if ( !(_la==SESSION || _la==NOTIFICATION) ) {
42391 _errHandler.recoverInline(this);
42392 }
42393 else {
42394 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
42395 _errHandler.reportMatch(this);
42396 consume();
42397 }
42398 }
42399 break;
42400 case 11:
42401 {
42402 setState(5825);
42403 match(EXTERNAL);
42404 setState(5831);
42405 _errHandler.sync(this);
42406 switch (_input.LA(1)) {
42407 case DATA:
42408 {
42409 setState(5826);
42410 match(DATA);
42411 setState(5827);
42412 match(SOURCE);
42413 }
42414 break;
42415 case FILE:
42416 {
42417 setState(5828);
42418 match(FILE);
42419 setState(5829);
42420 match(FORMAT);
42421 }
42422 break;
42423 case LIBRARY:
42424 {
42425 setState(5830);
42426 match(LIBRARY);
42427 }
42428 break;
42429 default:
42430 throw new NoViableAltException(this);
42431 }
42432 }
42433 break;
42434 case 12:
42435 {
42436 setState(5833);
42437 match(FULLTEXT);
42438 setState(5834);
42439 match(CATALOG);
42440 }
42441 break;
42442 case 13:
42443 {
42444 setState(5835);
42445 match(MASK);
42446 }
42447 break;
42448 case 14:
42449 {
42450 setState(5836);
42451 match(MESSAGE);
42452 setState(5837);
42453 match(TYPE);
42454 }
42455 break;
42456 case 15:
42457 {
42458 setState(5838);
42459 match(REMOTE);
42460 setState(5839);
42461 match(SERVICE);
42462 setState(5840);
42463 match(BINDING);
42464 }
42465 break;
42466 case 16:
42467 {
42468 setState(5841);
42469 match(ROLE);
42470 }
42471 break;
42472 case 17:
42473 {
42474 setState(5842);
42475 match(ROUTE);
42476 }
42477 break;
42478 case 18:
42479 {
42480 setState(5843);
42481 match(SERVER);
42482 setState(5844);
42483 match(AUDIT);
42484 }
42485 break;
42486 case 19:
42487 {
42488 setState(5845);
42489 match(SCHEMA);
42490 }
42491 break;
42492 case 20:
42493 {
42494 setState(5846);
42495 match(SECURITY);
42496 setState(5847);
42497 match(POLICY);
42498 }
42499 break;
42500 case 21:
42501 {
42502 setState(5848);
42503 match(SERVICE);
42504 }
42505 break;
42506 case 22:
42507 {
42508 setState(5849);
42509 match(USER);
42510 }
42511 break;
42512 }
42513 }
42514 break;
42515 case 5:
42516 enterOuterAlt(_localctx, 5);
42517 {
42518 setState(5852);
42519 match(AUTHENTICATE);
42520 setState(5854);
42521 _errHandler.sync(this);
42522 _la = _input.LA(1);
42523 if (_la==SERVER) {
42524 {
42525 setState(5853);
42526 match(SERVER);
42527 }
42528 }
42529
42530 }
42531 break;
42532 case 6:
42533 enterOuterAlt(_localctx, 6);
42534 {
42535 setState(5856);
42536 match(BACKUP);
42537 setState(5857);
42538 _la = _input.LA(1);
42539 if ( !(_la==DATABASE || _la==LOG) ) {
42540 _errHandler.recoverInline(this);
42541 }
42542 else {
42543 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
42544 _errHandler.reportMatch(this);
42545 consume();
42546 }
42547 }
42548 break;
42549 case 7:
42550 enterOuterAlt(_localctx, 7);
42551 {
42552 setState(5858);
42553 match(CHECKPOINT);
42554 }
42555 break;
42556 case 8:
42557 enterOuterAlt(_localctx, 8);
42558 {
42559 setState(5859);
42560 match(CONNECT);
42561 }
42562 break;
42563 case 9:
42564 enterOuterAlt(_localctx, 9);
42565 {
42566 setState(5860);
42567 match(CONNECT);
42568 setState(5862);
42569 _errHandler.sync(this);
42570 _la = _input.LA(1);
42571 if (_la==REPLICATION) {
42572 {
42573 setState(5861);
42574 match(REPLICATION);
42575 }
42576 }
42577
42578 }
42579 break;
42580 case 10:
42581 enterOuterAlt(_localctx, 10);
42582 {
42583 setState(5864);
42584 match(CONTROL);
42585 setState(5866);
42586 _errHandler.sync(this);
42587 _la = _input.LA(1);
42588 if (_la==SERVER) {
42589 {
42590 setState(5865);
42591 match(SERVER);
42592 }
42593 }
42594
42595 }
42596 break;
42597 case 11:
42598 enterOuterAlt(_localctx, 11);
42599 {
42600 setState(5868);
42601 match(CREATE);
42602 setState(5905);
42603 _errHandler.sync(this);
42604 switch ( getInterpreter().adaptivePredict(_input,677,_ctx) ) {
42605 case 1:
42606 {
42607 setState(5869);
42608 match(AGGREGATE);
42609 }
42610 break;
42611 case 2:
42612 {
42613 setState(5870);
42614 match(ASSEMBLY);
42615 }
42616 break;
42617 case 3:
42618 {
42619 setState(5871);
42620 _la = _input.LA(1);
42621 if ( !(_la==SYMMETRIC || _la==ASYMMETRIC) ) {
42622 _errHandler.recoverInline(this);
42623 }
42624 else {
42625 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
42626 _errHandler.reportMatch(this);
42627 consume();
42628 }
42629 setState(5872);
42630 match(KEY);
42631 }
42632 break;
42633 case 4:
42634 {
42635 setState(5873);
42636 match(CERTIFICATE);
42637 }
42638 break;
42639 case 5:
42640 {
42641 setState(5874);
42642 match(CONTRACT);
42643 }
42644 break;
42645 case 6:
42646 {
42647 setState(5875);
42648 match(DATABASE);
42649 }
42650 break;
42651 case 7:
42652 {
42653 setState(5877);
42654 _errHandler.sync(this);
42655 _la = _input.LA(1);
42656 if (_la==DATABASE) {
42657 {
42658 setState(5876);
42659 match(DATABASE);
42660 }
42661 }
42662
42663 setState(5879);
42664 match(DDL);
42665 setState(5880);
42666 match(EVENT);
42667 setState(5881);
42668 match(NOTIFICATION);
42669 }
42670 break;
42671 case 8:
42672 {
42673 setState(5882);
42674 match(DEFAULT);
42675 }
42676 break;
42677 case 9:
42678 {
42679 setState(5883);
42680 match(FULLTEXT);
42681 setState(5884);
42682 match(CATALOG);
42683 }
42684 break;
42685 case 10:
42686 {
42687 setState(5885);
42688 match(FUNCTION);
42689 }
42690 break;
42691 case 11:
42692 {
42693 setState(5886);
42694 match(MESSAGE);
42695 setState(5887);
42696 match(TYPE);
42697 }
42698 break;
42699 case 12:
42700 {
42701 setState(5888);
42702 match(PROCEDURE);
42703 }
42704 break;
42705 case 13:
42706 {
42707 setState(5889);
42708 match(QUEUE);
42709 }
42710 break;
42711 case 14:
42712 {
42713 setState(5890);
42714 match(REMOTE);
42715 setState(5891);
42716 match(SERVICE);
42717 setState(5892);
42718 match(BINDING);
42719 }
42720 break;
42721 case 15:
42722 {
42723 setState(5893);
42724 match(ROLE);
42725 }
42726 break;
42727 case 16:
42728 {
42729 setState(5894);
42730 match(ROUTE);
42731 }
42732 break;
42733 case 17:
42734 {
42735 setState(5895);
42736 match(RULE);
42737 }
42738 break;
42739 case 18:
42740 {
42741 setState(5896);
42742 match(SCHEMA);
42743 }
42744 break;
42745 case 19:
42746 {
42747 setState(5897);
42748 match(SERVICE);
42749 }
42750 break;
42751 case 20:
42752 {
42753 setState(5898);
42754 match(SYNONYM);
42755 }
42756 break;
42757 case 21:
42758 {
42759 setState(5899);
42760 match(TABLE);
42761 }
42762 break;
42763 case 22:
42764 {
42765 setState(5900);
42766 match(TYPE);
42767 }
42768 break;
42769 case 23:
42770 {
42771 setState(5901);
42772 match(VIEW);
42773 }
42774 break;
42775 case 24:
42776 {
42777 setState(5902);
42778 match(XML);
42779 setState(5903);
42780 match(SCHEMA);
42781 setState(5904);
42782 match(COLLECTION);
42783 }
42784 break;
42785 }
42786 }
42787 break;
42788 case 12:
42789 enterOuterAlt(_localctx, 12);
42790 {
42791 setState(5907);
42792 match(DELETE);
42793 }
42794 break;
42795 case 13:
42796 enterOuterAlt(_localctx, 13);
42797 {
42798 setState(5908);
42799 match(EXECUTE);
42800 }
42801 break;
42802 case 14:
42803 enterOuterAlt(_localctx, 14);
42804 {
42805 setState(5909);
42806 match(EXECUTE);
42807 setState(5911);
42808 _errHandler.sync(this);
42809 _la = _input.LA(1);
42810 if (_la==ANY) {
42811 {
42812 setState(5910);
42813 match(ANY);
42814 }
42815 }
42816
42817 setState(5913);
42818 match(EXTERNAL);
42819 setState(5914);
42820 match(SCRIPT);
42821 }
42822 break;
42823 case 15:
42824 enterOuterAlt(_localctx, 15);
42825 {
42826 setState(5915);
42827 match(INSERT);
42828 }
42829 break;
42830 case 16:
42831 enterOuterAlt(_localctx, 16);
42832 {
42833 setState(5916);
42834 match(KILL);
42835 setState(5917);
42836 match(DATABASE);
42837 setState(5918);
42838 match(CONNECTION);
42839 }
42840 break;
42841 case 17:
42842 enterOuterAlt(_localctx, 17);
42843 {
42844 setState(5919);
42845 match(REFERENCES);
42846 }
42847 break;
42848 case 18:
42849 enterOuterAlt(_localctx, 18);
42850 {
42851 setState(5920);
42852 match(SELECT);
42853 }
42854 break;
42855 case 19:
42856 enterOuterAlt(_localctx, 19);
42857 {
42858 setState(5921);
42859 match(SHOWPLAN);
42860 }
42861 break;
42862 case 20:
42863 enterOuterAlt(_localctx, 20);
42864 {
42865 setState(5922);
42866 match(SUBSCRIBE);
42867 setState(5923);
42868 match(QUERY);
42869 setState(5924);
42870 match(NOTIFICATIONS);
42871 }
42872 break;
42873 case 21:
42874 enterOuterAlt(_localctx, 21);
42875 {
42876 setState(5925);
42877 match(TAKE);
42878 setState(5926);
42879 match(OWNERSHIP);
42880 }
42881 break;
42882 case 22:
42883 enterOuterAlt(_localctx, 22);
42884 {
42885 setState(5927);
42886 match(UNMASK);
42887 }
42888 break;
42889 case 23:
42890 enterOuterAlt(_localctx, 23);
42891 {
42892 setState(5928);
42893 match(UPDATE);
42894 }
42895 break;
42896 case 24:
42897 enterOuterAlt(_localctx, 24);
42898 {
42899 setState(5929);
42900 match(VIEW);
42901 setState(5930);
42902 match(ANY);
42903 setState(5931);
42904 match(COLUMN);
42905 setState(5932);
42906 _la = _input.LA(1);
42907 if ( !(_la==ENCRYPTION || _la==MASTER) ) {
42908 _errHandler.recoverInline(this);
42909 }
42910 else {
42911 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
42912 _errHandler.reportMatch(this);
42913 consume();
42914 }
42915 setState(5933);
42916 match(KEY);
42917 setState(5934);
42918 match(DEFINITION);
42919 }
42920 break;
42921 case 25:
42922 enterOuterAlt(_localctx, 25);
42923 {
42924 setState(5935);
42925 match(CREATE);
42926 setState(5936);
42927 match(ANY);
42928 setState(5940);
42929 _errHandler.sync(this);
42930 switch (_input.LA(1)) {
42931 case DATABASE:
42932 {
42933 setState(5937);
42934 match(DATABASE);
42935 }
42936 break;
42937 case EXTERNAL:
42938 {
42939 setState(5938);
42940 match(EXTERNAL);
42941 setState(5939);
42942 match(LIBRARY);
42943 }
42944 break;
42945 default:
42946 throw new NoViableAltException(this);
42947 }
42948 }
42949 break;
42950 case 26:
42951 enterOuterAlt(_localctx, 26);
42952 {
42953 setState(5942);
42954 match(VIEW);
42955 setState(5943);
42956 _la = _input.LA(1);
42957 if ( !(_la==DATABASE || _la==SERVER) ) {
42958 _errHandler.recoverInline(this);
42959 }
42960 else {
42961 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
42962 _errHandler.reportMatch(this);
42963 consume();
42964 }
42965 setState(5944);
42966 match(STATE);
42967 }
42968 break;
42969 case 27:
42970 enterOuterAlt(_localctx, 27);
42971 {
42972 setState(5945);
42973 match(VIEW);
42974 setState(5947);
42975 _errHandler.sync(this);
42976 _la = _input.LA(1);
42977 if (_la==ANY) {
42978 {
42979 setState(5946);
42980 match(ANY);
42981 }
42982 }
42983
42984 setState(5949);
42985 match(DEFINITION);
42986 }
42987 break;
42988 case 28:
42989 enterOuterAlt(_localctx, 28);
42990 {
42991 }
42992 break;
42993 }
42994 }
42995 catch (RecognitionException re) {
42996 _localctx.exception = re;
42997 _errHandler.reportError(this, re);
42998 _errHandler.recover(this, re);
42999 }
43000 finally {
43001 exitRule();
43002 }
43003 return _localctx;
43004 }
43005
43006 public static class DatabasePrincipalPermissionContext extends ParserRuleContext {
43007 public DatabaseUserPermissionContext databaseUserPermission() {
43008 return getRuleContext(DatabaseUserPermissionContext.class,0);
43009 }
43010 public DatabaseRolePermissionContext databaseRolePermission() {
43011 return getRuleContext(DatabaseRolePermissionContext.class,0);
43012 }
43013 public ApplicationRolePermissionContext applicationRolePermission() {
43014 return getRuleContext(ApplicationRolePermissionContext.class,0);
43015 }
43016 public DatabasePrincipalPermissionContext(ParserRuleContext parent, int invokingState) {
43017 super(parent, invokingState);
43018 }
43019 @Override public int getRuleIndex() { return RULE_databasePrincipalPermission; }
43020 @Override
43021 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43022 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabasePrincipalPermission(this);
43023 else return visitor.visitChildren(this);
43024 }
43025 }
43026
43027 public final DatabasePrincipalPermissionContext databasePrincipalPermission() throws RecognitionException {
43028 DatabasePrincipalPermissionContext _localctx = new DatabasePrincipalPermissionContext(_ctx, getState());
43029 enterRule(_localctx, 808, RULE_databasePrincipalPermission);
43030 try {
43031 setState(5956);
43032 _errHandler.sync(this);
43033 switch ( getInterpreter().adaptivePredict(_input,682,_ctx) ) {
43034 case 1:
43035 enterOuterAlt(_localctx, 1);
43036 {
43037 setState(5953);
43038 databaseUserPermission();
43039 }
43040 break;
43041 case 2:
43042 enterOuterAlt(_localctx, 2);
43043 {
43044 setState(5954);
43045 databaseRolePermission();
43046 }
43047 break;
43048 case 3:
43049 enterOuterAlt(_localctx, 3);
43050 {
43051 setState(5955);
43052 applicationRolePermission();
43053 }
43054 break;
43055 }
43056 }
43057 catch (RecognitionException re) {
43058 _localctx.exception = re;
43059 _errHandler.reportError(this, re);
43060 _errHandler.recover(this, re);
43061 }
43062 finally {
43063 exitRule();
43064 }
43065 return _localctx;
43066 }
43067
43068 public static class DatabaseUserPermissionContext extends ParserRuleContext {
43069 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43070 public TerminalNode IMPERSONATE() { return getToken(SQLServerStatementParser.IMPERSONATE, 0); }
43071 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43072 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43073 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43074 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43075 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
43076 public DatabaseUserPermissionContext(ParserRuleContext parent, int invokingState) {
43077 super(parent, invokingState);
43078 }
43079 @Override public int getRuleIndex() { return RULE_databaseUserPermission; }
43080 @Override
43081 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43082 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseUserPermission(this);
43083 else return visitor.visitChildren(this);
43084 }
43085 }
43086
43087 public final DatabaseUserPermissionContext databaseUserPermission() throws RecognitionException {
43088 DatabaseUserPermissionContext _localctx = new DatabaseUserPermissionContext(_ctx, getState());
43089 enterRule(_localctx, 810, RULE_databaseUserPermission);
43090 try {
43091 setState(5966);
43092 _errHandler.sync(this);
43093 switch ( getInterpreter().adaptivePredict(_input,683,_ctx) ) {
43094 case 1:
43095 enterOuterAlt(_localctx, 1);
43096 {
43097 setState(5958);
43098 match(CONTROL);
43099 }
43100 break;
43101 case 2:
43102 enterOuterAlt(_localctx, 2);
43103 {
43104 setState(5959);
43105 match(IMPERSONATE);
43106 }
43107 break;
43108 case 3:
43109 enterOuterAlt(_localctx, 3);
43110 {
43111 setState(5960);
43112 match(ALTER);
43113 }
43114 break;
43115 case 4:
43116 enterOuterAlt(_localctx, 4);
43117 {
43118 setState(5961);
43119 match(VIEW);
43120 setState(5962);
43121 match(DEFINITION);
43122 }
43123 break;
43124 case 5:
43125 enterOuterAlt(_localctx, 5);
43126 {
43127 setState(5963);
43128 match(ALTER);
43129 setState(5964);
43130 match(ANY);
43131 setState(5965);
43132 match(USER);
43133 }
43134 break;
43135 }
43136 }
43137 catch (RecognitionException re) {
43138 _localctx.exception = re;
43139 _errHandler.reportError(this, re);
43140 _errHandler.recover(this, re);
43141 }
43142 finally {
43143 exitRule();
43144 }
43145 return _localctx;
43146 }
43147
43148 public static class DatabaseRolePermissionContext extends ParserRuleContext {
43149 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43150 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43151 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43152 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43153 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43154 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43155 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43156 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
43157 public DatabaseRolePermissionContext(ParserRuleContext parent, int invokingState) {
43158 super(parent, invokingState);
43159 }
43160 @Override public int getRuleIndex() { return RULE_databaseRolePermission; }
43161 @Override
43162 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43163 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseRolePermission(this);
43164 else return visitor.visitChildren(this);
43165 }
43166 }
43167
43168 public final DatabaseRolePermissionContext databaseRolePermission() throws RecognitionException {
43169 DatabaseRolePermissionContext _localctx = new DatabaseRolePermissionContext(_ctx, getState());
43170 enterRule(_localctx, 812, RULE_databaseRolePermission);
43171 try {
43172 setState(5977);
43173 _errHandler.sync(this);
43174 switch ( getInterpreter().adaptivePredict(_input,684,_ctx) ) {
43175 case 1:
43176 enterOuterAlt(_localctx, 1);
43177 {
43178 setState(5968);
43179 match(CONTROL);
43180 }
43181 break;
43182 case 2:
43183 enterOuterAlt(_localctx, 2);
43184 {
43185 setState(5969);
43186 match(TAKE);
43187 setState(5970);
43188 match(OWNERSHIP);
43189 }
43190 break;
43191 case 3:
43192 enterOuterAlt(_localctx, 3);
43193 {
43194 setState(5971);
43195 match(ALTER);
43196 }
43197 break;
43198 case 4:
43199 enterOuterAlt(_localctx, 4);
43200 {
43201 setState(5972);
43202 match(VIEW);
43203 setState(5973);
43204 match(DEFINITION);
43205 }
43206 break;
43207 case 5:
43208 enterOuterAlt(_localctx, 5);
43209 {
43210 setState(5974);
43211 match(ALTER);
43212 setState(5975);
43213 match(ANY);
43214 setState(5976);
43215 match(ROLE);
43216 }
43217 break;
43218 }
43219 }
43220 catch (RecognitionException re) {
43221 _localctx.exception = re;
43222 _errHandler.reportError(this, re);
43223 _errHandler.recover(this, re);
43224 }
43225 finally {
43226 exitRule();
43227 }
43228 return _localctx;
43229 }
43230
43231 public static class ApplicationRolePermissionContext extends ParserRuleContext {
43232 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43233 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43234 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43235 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43236 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43237 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
43238 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
43239 public ApplicationRolePermissionContext(ParserRuleContext parent, int invokingState) {
43240 super(parent, invokingState);
43241 }
43242 @Override public int getRuleIndex() { return RULE_applicationRolePermission; }
43243 @Override
43244 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43245 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitApplicationRolePermission(this);
43246 else return visitor.visitChildren(this);
43247 }
43248 }
43249
43250 public final ApplicationRolePermissionContext applicationRolePermission() throws RecognitionException {
43251 ApplicationRolePermissionContext _localctx = new ApplicationRolePermissionContext(_ctx, getState());
43252 enterRule(_localctx, 814, RULE_applicationRolePermission);
43253 try {
43254 setState(5987);
43255 _errHandler.sync(this);
43256 switch ( getInterpreter().adaptivePredict(_input,685,_ctx) ) {
43257 case 1:
43258 enterOuterAlt(_localctx, 1);
43259 {
43260 setState(5979);
43261 match(CONTROL);
43262 }
43263 break;
43264 case 2:
43265 enterOuterAlt(_localctx, 2);
43266 {
43267 setState(5980);
43268 match(ALTER);
43269 }
43270 break;
43271 case 3:
43272 enterOuterAlt(_localctx, 3);
43273 {
43274 setState(5981);
43275 match(VIEW);
43276 setState(5982);
43277 match(DEFINITION);
43278 }
43279 break;
43280 case 4:
43281 enterOuterAlt(_localctx, 4);
43282 {
43283 setState(5983);
43284 match(ALTER);
43285 setState(5984);
43286 match(ANY);
43287 setState(5985);
43288 match(APPLICATION);
43289 setState(5986);
43290 match(ROLE);
43291 }
43292 break;
43293 }
43294 }
43295 catch (RecognitionException re) {
43296 _localctx.exception = re;
43297 _errHandler.reportError(this, re);
43298 _errHandler.recover(this, re);
43299 }
43300 finally {
43301 exitRule();
43302 }
43303 return _localctx;
43304 }
43305
43306 public static class DatabaseScopedCredentialPermissionContext extends ParserRuleContext {
43307 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43308 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43309 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43310 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43311 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
43312 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43313 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43314 public DatabaseScopedCredentialPermissionContext(ParserRuleContext parent, int invokingState) {
43315 super(parent, invokingState);
43316 }
43317 @Override public int getRuleIndex() { return RULE_databaseScopedCredentialPermission; }
43318 @Override
43319 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43320 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDatabaseScopedCredentialPermission(this);
43321 else return visitor.visitChildren(this);
43322 }
43323 }
43324
43325 public final DatabaseScopedCredentialPermissionContext databaseScopedCredentialPermission() throws RecognitionException {
43326 DatabaseScopedCredentialPermissionContext _localctx = new DatabaseScopedCredentialPermissionContext(_ctx, getState());
43327 enterRule(_localctx, 816, RULE_databaseScopedCredentialPermission);
43328 try {
43329 setState(5996);
43330 _errHandler.sync(this);
43331 switch (_input.LA(1)) {
43332 case CONTROL:
43333 enterOuterAlt(_localctx, 1);
43334 {
43335 setState(5989);
43336 match(CONTROL);
43337 }
43338 break;
43339 case TAKE:
43340 enterOuterAlt(_localctx, 2);
43341 {
43342 setState(5990);
43343 match(TAKE);
43344 setState(5991);
43345 match(OWNERSHIP);
43346 }
43347 break;
43348 case ALTER:
43349 enterOuterAlt(_localctx, 3);
43350 {
43351 setState(5992);
43352 match(ALTER);
43353 }
43354 break;
43355 case REFERENCES:
43356 enterOuterAlt(_localctx, 4);
43357 {
43358 setState(5993);
43359 match(REFERENCES);
43360 }
43361 break;
43362 case VIEW:
43363 enterOuterAlt(_localctx, 5);
43364 {
43365 setState(5994);
43366 match(VIEW);
43367 setState(5995);
43368 match(DEFINITION);
43369 }
43370 break;
43371 default:
43372 throw new NoViableAltException(this);
43373 }
43374 }
43375 catch (RecognitionException re) {
43376 _localctx.exception = re;
43377 _errHandler.reportError(this, re);
43378 _errHandler.recover(this, re);
43379 }
43380 finally {
43381 exitRule();
43382 }
43383 return _localctx;
43384 }
43385
43386 public static class SchemaPermissionContext extends ParserRuleContext {
43387 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43388 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43389 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
43390 public TerminalNode SEQUENCE() { return getToken(SQLServerStatementParser.SEQUENCE, 0); }
43391 public TerminalNode DELETE() { return getToken(SQLServerStatementParser.DELETE, 0); }
43392 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
43393 public TerminalNode INSERT() { return getToken(SQLServerStatementParser.INSERT, 0); }
43394 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
43395 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
43396 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43397 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43398 public TerminalNode UPDATE() { return getToken(SQLServerStatementParser.UPDATE, 0); }
43399 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43400 public TerminalNode CHANGE() { return getToken(SQLServerStatementParser.CHANGE, 0); }
43401 public TerminalNode TRACKING() { return getToken(SQLServerStatementParser.TRACKING, 0); }
43402 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43403 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43404 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
43405 public SchemaPermissionContext(ParserRuleContext parent, int invokingState) {
43406 super(parent, invokingState);
43407 }
43408 @Override public int getRuleIndex() { return RULE_schemaPermission; }
43409 @Override
43410 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43411 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSchemaPermission(this);
43412 else return visitor.visitChildren(this);
43413 }
43414 }
43415
43416 public final SchemaPermissionContext schemaPermission() throws RecognitionException {
43417 SchemaPermissionContext _localctx = new SchemaPermissionContext(_ctx, getState());
43418 enterRule(_localctx, 818, RULE_schemaPermission);
43419 try {
43420 setState(6018);
43421 _errHandler.sync(this);
43422 switch ( getInterpreter().adaptivePredict(_input,687,_ctx) ) {
43423 case 1:
43424 enterOuterAlt(_localctx, 1);
43425 {
43426 setState(5998);
43427 match(ALTER);
43428 }
43429 break;
43430 case 2:
43431 enterOuterAlt(_localctx, 2);
43432 {
43433 setState(5999);
43434 match(CONTROL);
43435 }
43436 break;
43437 case 3:
43438 enterOuterAlt(_localctx, 3);
43439 {
43440 setState(6000);
43441 match(CREATE);
43442 setState(6001);
43443 match(SEQUENCE);
43444 }
43445 break;
43446 case 4:
43447 enterOuterAlt(_localctx, 4);
43448 {
43449 setState(6002);
43450 match(DELETE);
43451 }
43452 break;
43453 case 5:
43454 enterOuterAlt(_localctx, 5);
43455 {
43456 setState(6003);
43457 match(EXECUTE);
43458 }
43459 break;
43460 case 6:
43461 enterOuterAlt(_localctx, 6);
43462 {
43463 setState(6004);
43464 match(INSERT);
43465 }
43466 break;
43467 case 7:
43468 enterOuterAlt(_localctx, 7);
43469 {
43470 setState(6005);
43471 match(REFERENCES);
43472 }
43473 break;
43474 case 8:
43475 enterOuterAlt(_localctx, 8);
43476 {
43477 setState(6006);
43478 match(SELECT);
43479 }
43480 break;
43481 case 9:
43482 enterOuterAlt(_localctx, 9);
43483 {
43484 setState(6007);
43485 match(TAKE);
43486 setState(6008);
43487 match(OWNERSHIP);
43488 }
43489 break;
43490 case 10:
43491 enterOuterAlt(_localctx, 10);
43492 {
43493 setState(6009);
43494 match(UPDATE);
43495 }
43496 break;
43497 case 11:
43498 enterOuterAlt(_localctx, 11);
43499 {
43500 setState(6010);
43501 match(VIEW);
43502 setState(6011);
43503 match(CHANGE);
43504 setState(6012);
43505 match(TRACKING);
43506 }
43507 break;
43508 case 12:
43509 enterOuterAlt(_localctx, 12);
43510 {
43511 setState(6013);
43512 match(VIEW);
43513 setState(6014);
43514 match(DEFINITION);
43515 }
43516 break;
43517 case 13:
43518 enterOuterAlt(_localctx, 13);
43519 {
43520 setState(6015);
43521 match(ALTER);
43522 setState(6016);
43523 match(ANY);
43524 setState(6017);
43525 match(SCHEMA);
43526 }
43527 break;
43528 }
43529 }
43530 catch (RecognitionException re) {
43531 _localctx.exception = re;
43532 _errHandler.reportError(this, re);
43533 _errHandler.recover(this, re);
43534 }
43535 finally {
43536 exitRule();
43537 }
43538 return _localctx;
43539 }
43540
43541 public static class SearchPropertyListPermissionContext extends ParserRuleContext {
43542 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43543 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43544 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
43545 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43546 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43547 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43548 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43549 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43550 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
43551 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
43552 public SearchPropertyListPermissionContext(ParserRuleContext parent, int invokingState) {
43553 super(parent, invokingState);
43554 }
43555 @Override public int getRuleIndex() { return RULE_searchPropertyListPermission; }
43556 @Override
43557 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43558 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSearchPropertyListPermission(this);
43559 else return visitor.visitChildren(this);
43560 }
43561 }
43562
43563 public final SearchPropertyListPermissionContext searchPropertyListPermission() throws RecognitionException {
43564 SearchPropertyListPermissionContext _localctx = new SearchPropertyListPermissionContext(_ctx, getState());
43565 enterRule(_localctx, 820, RULE_searchPropertyListPermission);
43566 try {
43567 setState(6031);
43568 _errHandler.sync(this);
43569 switch ( getInterpreter().adaptivePredict(_input,688,_ctx) ) {
43570 case 1:
43571 enterOuterAlt(_localctx, 1);
43572 {
43573 setState(6020);
43574 match(ALTER);
43575 }
43576 break;
43577 case 2:
43578 enterOuterAlt(_localctx, 2);
43579 {
43580 setState(6021);
43581 match(CONTROL);
43582 }
43583 break;
43584 case 3:
43585 enterOuterAlt(_localctx, 3);
43586 {
43587 setState(6022);
43588 match(REFERENCES);
43589 }
43590 break;
43591 case 4:
43592 enterOuterAlt(_localctx, 4);
43593 {
43594 setState(6023);
43595 match(TAKE);
43596 setState(6024);
43597 match(OWNERSHIP);
43598 }
43599 break;
43600 case 5:
43601 enterOuterAlt(_localctx, 5);
43602 {
43603 setState(6025);
43604 match(VIEW);
43605 setState(6026);
43606 match(DEFINITION);
43607 }
43608 break;
43609 case 6:
43610 enterOuterAlt(_localctx, 6);
43611 {
43612 setState(6027);
43613 match(ALTER);
43614 setState(6028);
43615 match(ANY);
43616 setState(6029);
43617 match(FULLTEXT);
43618 setState(6030);
43619 match(CATALOG);
43620 }
43621 break;
43622 }
43623 }
43624 catch (RecognitionException re) {
43625 _localctx.exception = re;
43626 _errHandler.reportError(this, re);
43627 _errHandler.recover(this, re);
43628 }
43629 finally {
43630 exitRule();
43631 }
43632 return _localctx;
43633 }
43634
43635 public static class ServiceBrokerPermissionContext extends ParserRuleContext {
43636 public ServiceBrokerContractsPermissionContext serviceBrokerContractsPermission() {
43637 return getRuleContext(ServiceBrokerContractsPermissionContext.class,0);
43638 }
43639 public ServiceBrokerMessageTypesPermissionContext serviceBrokerMessageTypesPermission() {
43640 return getRuleContext(ServiceBrokerMessageTypesPermissionContext.class,0);
43641 }
43642 public ServiceBrokerRemoteServiceBindingsPermissionContext serviceBrokerRemoteServiceBindingsPermission() {
43643 return getRuleContext(ServiceBrokerRemoteServiceBindingsPermissionContext.class,0);
43644 }
43645 public ServiceBrokerRoutesPermissionContext serviceBrokerRoutesPermission() {
43646 return getRuleContext(ServiceBrokerRoutesPermissionContext.class,0);
43647 }
43648 public ServiceBrokerServicesPermissionContext serviceBrokerServicesPermission() {
43649 return getRuleContext(ServiceBrokerServicesPermissionContext.class,0);
43650 }
43651 public ServiceBrokerPermissionContext(ParserRuleContext parent, int invokingState) {
43652 super(parent, invokingState);
43653 }
43654 @Override public int getRuleIndex() { return RULE_serviceBrokerPermission; }
43655 @Override
43656 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43657 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerPermission(this);
43658 else return visitor.visitChildren(this);
43659 }
43660 }
43661
43662 public final ServiceBrokerPermissionContext serviceBrokerPermission() throws RecognitionException {
43663 ServiceBrokerPermissionContext _localctx = new ServiceBrokerPermissionContext(_ctx, getState());
43664 enterRule(_localctx, 822, RULE_serviceBrokerPermission);
43665 try {
43666 setState(6038);
43667 _errHandler.sync(this);
43668 switch ( getInterpreter().adaptivePredict(_input,689,_ctx) ) {
43669 case 1:
43670 enterOuterAlt(_localctx, 1);
43671 {
43672 setState(6033);
43673 serviceBrokerContractsPermission();
43674 }
43675 break;
43676 case 2:
43677 enterOuterAlt(_localctx, 2);
43678 {
43679 setState(6034);
43680 serviceBrokerMessageTypesPermission();
43681 }
43682 break;
43683 case 3:
43684 enterOuterAlt(_localctx, 3);
43685 {
43686 setState(6035);
43687 serviceBrokerRemoteServiceBindingsPermission();
43688 }
43689 break;
43690 case 4:
43691 enterOuterAlt(_localctx, 4);
43692 {
43693 setState(6036);
43694 serviceBrokerRoutesPermission();
43695 }
43696 break;
43697 case 5:
43698 enterOuterAlt(_localctx, 5);
43699 {
43700 setState(6037);
43701 serviceBrokerServicesPermission();
43702 }
43703 break;
43704 }
43705 }
43706 catch (RecognitionException re) {
43707 _localctx.exception = re;
43708 _errHandler.reportError(this, re);
43709 _errHandler.recover(this, re);
43710 }
43711 finally {
43712 exitRule();
43713 }
43714 return _localctx;
43715 }
43716
43717 public static class ServiceBrokerContractsPermissionContext extends ParserRuleContext {
43718 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43719 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43720 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43721 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43722 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
43723 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43724 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43725 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43726 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
43727 public ServiceBrokerContractsPermissionContext(ParserRuleContext parent, int invokingState) {
43728 super(parent, invokingState);
43729 }
43730 @Override public int getRuleIndex() { return RULE_serviceBrokerContractsPermission; }
43731 @Override
43732 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43733 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerContractsPermission(this);
43734 else return visitor.visitChildren(this);
43735 }
43736 }
43737
43738 public final ServiceBrokerContractsPermissionContext serviceBrokerContractsPermission() throws RecognitionException {
43739 ServiceBrokerContractsPermissionContext _localctx = new ServiceBrokerContractsPermissionContext(_ctx, getState());
43740 enterRule(_localctx, 824, RULE_serviceBrokerContractsPermission);
43741 try {
43742 setState(6050);
43743 _errHandler.sync(this);
43744 switch ( getInterpreter().adaptivePredict(_input,690,_ctx) ) {
43745 case 1:
43746 enterOuterAlt(_localctx, 1);
43747 {
43748 setState(6040);
43749 match(CONTROL);
43750 }
43751 break;
43752 case 2:
43753 enterOuterAlt(_localctx, 2);
43754 {
43755 setState(6041);
43756 match(TAKE);
43757 setState(6042);
43758 match(OWNERSHIP);
43759 }
43760 break;
43761 case 3:
43762 enterOuterAlt(_localctx, 3);
43763 {
43764 setState(6043);
43765 match(ALTER);
43766 }
43767 break;
43768 case 4:
43769 enterOuterAlt(_localctx, 4);
43770 {
43771 setState(6044);
43772 match(REFERENCES);
43773 }
43774 break;
43775 case 5:
43776 enterOuterAlt(_localctx, 5);
43777 {
43778 setState(6045);
43779 match(VIEW);
43780 setState(6046);
43781 match(DEFINITION);
43782 }
43783 break;
43784 case 6:
43785 enterOuterAlt(_localctx, 6);
43786 {
43787 setState(6047);
43788 match(ALTER);
43789 setState(6048);
43790 match(ANY);
43791 setState(6049);
43792 match(CONTRACT);
43793 }
43794 break;
43795 }
43796 }
43797 catch (RecognitionException re) {
43798 _localctx.exception = re;
43799 _errHandler.reportError(this, re);
43800 _errHandler.recover(this, re);
43801 }
43802 finally {
43803 exitRule();
43804 }
43805 return _localctx;
43806 }
43807
43808 public static class ServiceBrokerMessageTypesPermissionContext extends ParserRuleContext {
43809 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43810 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43811 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43812 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43813 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
43814 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43815 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43816 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43817 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
43818 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
43819 public ServiceBrokerMessageTypesPermissionContext(ParserRuleContext parent, int invokingState) {
43820 super(parent, invokingState);
43821 }
43822 @Override public int getRuleIndex() { return RULE_serviceBrokerMessageTypesPermission; }
43823 @Override
43824 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43825 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerMessageTypesPermission(this);
43826 else return visitor.visitChildren(this);
43827 }
43828 }
43829
43830 public final ServiceBrokerMessageTypesPermissionContext serviceBrokerMessageTypesPermission() throws RecognitionException {
43831 ServiceBrokerMessageTypesPermissionContext _localctx = new ServiceBrokerMessageTypesPermissionContext(_ctx, getState());
43832 enterRule(_localctx, 826, RULE_serviceBrokerMessageTypesPermission);
43833 try {
43834 setState(6063);
43835 _errHandler.sync(this);
43836 switch ( getInterpreter().adaptivePredict(_input,691,_ctx) ) {
43837 case 1:
43838 enterOuterAlt(_localctx, 1);
43839 {
43840 setState(6052);
43841 match(CONTROL);
43842 }
43843 break;
43844 case 2:
43845 enterOuterAlt(_localctx, 2);
43846 {
43847 setState(6053);
43848 match(TAKE);
43849 setState(6054);
43850 match(OWNERSHIP);
43851 }
43852 break;
43853 case 3:
43854 enterOuterAlt(_localctx, 3);
43855 {
43856 setState(6055);
43857 match(ALTER);
43858 }
43859 break;
43860 case 4:
43861 enterOuterAlt(_localctx, 4);
43862 {
43863 setState(6056);
43864 match(REFERENCES);
43865 }
43866 break;
43867 case 5:
43868 enterOuterAlt(_localctx, 5);
43869 {
43870 setState(6057);
43871 match(VIEW);
43872 setState(6058);
43873 match(DEFINITION);
43874 }
43875 break;
43876 case 6:
43877 enterOuterAlt(_localctx, 6);
43878 {
43879 setState(6059);
43880 match(ALTER);
43881 setState(6060);
43882 match(ANY);
43883 setState(6061);
43884 match(MESSAGE);
43885 setState(6062);
43886 match(TYPE);
43887 }
43888 break;
43889 }
43890 }
43891 catch (RecognitionException re) {
43892 _localctx.exception = re;
43893 _errHandler.reportError(this, re);
43894 _errHandler.recover(this, re);
43895 }
43896 finally {
43897 exitRule();
43898 }
43899 return _localctx;
43900 }
43901
43902 public static class ServiceBrokerRemoteServiceBindingsPermissionContext extends ParserRuleContext {
43903 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43904 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43905 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43906 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43907 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43908 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43909 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43910 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
43911 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
43912 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
43913 public ServiceBrokerRemoteServiceBindingsPermissionContext(ParserRuleContext parent, int invokingState) {
43914 super(parent, invokingState);
43915 }
43916 @Override public int getRuleIndex() { return RULE_serviceBrokerRemoteServiceBindingsPermission; }
43917 @Override
43918 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
43919 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerRemoteServiceBindingsPermission(this);
43920 else return visitor.visitChildren(this);
43921 }
43922 }
43923
43924 public final ServiceBrokerRemoteServiceBindingsPermissionContext serviceBrokerRemoteServiceBindingsPermission() throws RecognitionException {
43925 ServiceBrokerRemoteServiceBindingsPermissionContext _localctx = new ServiceBrokerRemoteServiceBindingsPermissionContext(_ctx, getState());
43926 enterRule(_localctx, 828, RULE_serviceBrokerRemoteServiceBindingsPermission);
43927 try {
43928 setState(6076);
43929 _errHandler.sync(this);
43930 switch ( getInterpreter().adaptivePredict(_input,692,_ctx) ) {
43931 case 1:
43932 enterOuterAlt(_localctx, 1);
43933 {
43934 setState(6065);
43935 match(CONTROL);
43936 }
43937 break;
43938 case 2:
43939 enterOuterAlt(_localctx, 2);
43940 {
43941 setState(6066);
43942 match(TAKE);
43943 setState(6067);
43944 match(OWNERSHIP);
43945 }
43946 break;
43947 case 3:
43948 enterOuterAlt(_localctx, 3);
43949 {
43950 setState(6068);
43951 match(ALTER);
43952 }
43953 break;
43954 case 4:
43955 enterOuterAlt(_localctx, 4);
43956 {
43957 setState(6069);
43958 match(VIEW);
43959 setState(6070);
43960 match(DEFINITION);
43961 }
43962 break;
43963 case 5:
43964 enterOuterAlt(_localctx, 5);
43965 {
43966 setState(6071);
43967 match(ALTER);
43968 setState(6072);
43969 match(ANY);
43970 setState(6073);
43971 match(REMOTE);
43972 setState(6074);
43973 match(SERVICE);
43974 setState(6075);
43975 match(BINDING);
43976 }
43977 break;
43978 }
43979 }
43980 catch (RecognitionException re) {
43981 _localctx.exception = re;
43982 _errHandler.reportError(this, re);
43983 _errHandler.recover(this, re);
43984 }
43985 finally {
43986 exitRule();
43987 }
43988 return _localctx;
43989 }
43990
43991 public static class ServiceBrokerRoutesPermissionContext extends ParserRuleContext {
43992 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
43993 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
43994 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
43995 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
43996 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
43997 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
43998 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
43999 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
44000 public ServiceBrokerRoutesPermissionContext(ParserRuleContext parent, int invokingState) {
44001 super(parent, invokingState);
44002 }
44003 @Override public int getRuleIndex() { return RULE_serviceBrokerRoutesPermission; }
44004 @Override
44005 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44006 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerRoutesPermission(this);
44007 else return visitor.visitChildren(this);
44008 }
44009 }
44010
44011 public final ServiceBrokerRoutesPermissionContext serviceBrokerRoutesPermission() throws RecognitionException {
44012 ServiceBrokerRoutesPermissionContext _localctx = new ServiceBrokerRoutesPermissionContext(_ctx, getState());
44013 enterRule(_localctx, 830, RULE_serviceBrokerRoutesPermission);
44014 try {
44015 setState(6087);
44016 _errHandler.sync(this);
44017 switch ( getInterpreter().adaptivePredict(_input,693,_ctx) ) {
44018 case 1:
44019 enterOuterAlt(_localctx, 1);
44020 {
44021 setState(6078);
44022 match(CONTROL);
44023 }
44024 break;
44025 case 2:
44026 enterOuterAlt(_localctx, 2);
44027 {
44028 setState(6079);
44029 match(TAKE);
44030 setState(6080);
44031 match(OWNERSHIP);
44032 }
44033 break;
44034 case 3:
44035 enterOuterAlt(_localctx, 3);
44036 {
44037 setState(6081);
44038 match(ALTER);
44039 }
44040 break;
44041 case 4:
44042 enterOuterAlt(_localctx, 4);
44043 {
44044 setState(6082);
44045 match(VIEW);
44046 setState(6083);
44047 match(DEFINITION);
44048 }
44049 break;
44050 case 5:
44051 enterOuterAlt(_localctx, 5);
44052 {
44053 setState(6084);
44054 match(ALTER);
44055 setState(6085);
44056 match(ANY);
44057 setState(6086);
44058 match(ROUTE);
44059 }
44060 break;
44061 }
44062 }
44063 catch (RecognitionException re) {
44064 _localctx.exception = re;
44065 _errHandler.reportError(this, re);
44066 _errHandler.recover(this, re);
44067 }
44068 finally {
44069 exitRule();
44070 }
44071 return _localctx;
44072 }
44073
44074 public static class ServiceBrokerServicesPermissionContext extends ParserRuleContext {
44075 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44076 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44077 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44078 public TerminalNode SEND() { return getToken(SQLServerStatementParser.SEND, 0); }
44079 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44080 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44081 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44082 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44083 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
44084 public ServiceBrokerServicesPermissionContext(ParserRuleContext parent, int invokingState) {
44085 super(parent, invokingState);
44086 }
44087 @Override public int getRuleIndex() { return RULE_serviceBrokerServicesPermission; }
44088 @Override
44089 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44090 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitServiceBrokerServicesPermission(this);
44091 else return visitor.visitChildren(this);
44092 }
44093 }
44094
44095 public final ServiceBrokerServicesPermissionContext serviceBrokerServicesPermission() throws RecognitionException {
44096 ServiceBrokerServicesPermissionContext _localctx = new ServiceBrokerServicesPermissionContext(_ctx, getState());
44097 enterRule(_localctx, 832, RULE_serviceBrokerServicesPermission);
44098 try {
44099 setState(6099);
44100 _errHandler.sync(this);
44101 switch ( getInterpreter().adaptivePredict(_input,694,_ctx) ) {
44102 case 1:
44103 enterOuterAlt(_localctx, 1);
44104 {
44105 setState(6089);
44106 match(CONTROL);
44107 }
44108 break;
44109 case 2:
44110 enterOuterAlt(_localctx, 2);
44111 {
44112 setState(6090);
44113 match(TAKE);
44114 setState(6091);
44115 match(OWNERSHIP);
44116 }
44117 break;
44118 case 3:
44119 enterOuterAlt(_localctx, 3);
44120 {
44121 setState(6092);
44122 match(SEND);
44123 }
44124 break;
44125 case 4:
44126 enterOuterAlt(_localctx, 4);
44127 {
44128 setState(6093);
44129 match(ALTER);
44130 }
44131 break;
44132 case 5:
44133 enterOuterAlt(_localctx, 5);
44134 {
44135 setState(6094);
44136 match(VIEW);
44137 setState(6095);
44138 match(DEFINITION);
44139 }
44140 break;
44141 case 6:
44142 enterOuterAlt(_localctx, 6);
44143 {
44144 setState(6096);
44145 match(ALTER);
44146 setState(6097);
44147 match(ANY);
44148 setState(6098);
44149 match(SERVICE);
44150 }
44151 break;
44152 }
44153 }
44154 catch (RecognitionException re) {
44155 _localctx.exception = re;
44156 _errHandler.reportError(this, re);
44157 _errHandler.recover(this, re);
44158 }
44159 finally {
44160 exitRule();
44161 }
44162 return _localctx;
44163 }
44164
44165 public static class EndpointPermissionContext extends ParserRuleContext {
44166 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44167 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
44168 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44169 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
44170 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44171 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44172 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44173 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44174 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44175 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
44176 public EndpointPermissionContext(ParserRuleContext parent, int invokingState) {
44177 super(parent, invokingState);
44178 }
44179 @Override public int getRuleIndex() { return RULE_endpointPermission; }
44180 @Override
44181 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44182 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitEndpointPermission(this);
44183 else return visitor.visitChildren(this);
44184 }
44185 }
44186
44187 public final EndpointPermissionContext endpointPermission() throws RecognitionException {
44188 EndpointPermissionContext _localctx = new EndpointPermissionContext(_ctx, getState());
44189 enterRule(_localctx, 834, RULE_endpointPermission);
44190 int _la;
44191 try {
44192 setState(6117);
44193 _errHandler.sync(this);
44194 switch ( getInterpreter().adaptivePredict(_input,697,_ctx) ) {
44195 case 1:
44196 enterOuterAlt(_localctx, 1);
44197 {
44198 setState(6101);
44199 match(ALTER);
44200 }
44201 break;
44202 case 2:
44203 enterOuterAlt(_localctx, 2);
44204 {
44205 setState(6102);
44206 match(CONNECT);
44207 }
44208 break;
44209 case 3:
44210 enterOuterAlt(_localctx, 3);
44211 {
44212 setState(6103);
44213 match(CONTROL);
44214 setState(6105);
44215 _errHandler.sync(this);
44216 _la = _input.LA(1);
44217 if (_la==SERVER) {
44218 {
44219 setState(6104);
44220 match(SERVER);
44221 }
44222 }
44223
44224 }
44225 break;
44226 case 4:
44227 enterOuterAlt(_localctx, 4);
44228 {
44229 setState(6107);
44230 match(TAKE);
44231 setState(6108);
44232 match(OWNERSHIP);
44233 }
44234 break;
44235 case 5:
44236 enterOuterAlt(_localctx, 5);
44237 {
44238 setState(6109);
44239 match(VIEW);
44240 setState(6111);
44241 _errHandler.sync(this);
44242 _la = _input.LA(1);
44243 if (_la==ANY) {
44244 {
44245 setState(6110);
44246 match(ANY);
44247 }
44248 }
44249
44250 setState(6113);
44251 match(DEFINITION);
44252 }
44253 break;
44254 case 6:
44255 enterOuterAlt(_localctx, 6);
44256 {
44257 setState(6114);
44258 match(ALTER);
44259 setState(6115);
44260 match(ANY);
44261 setState(6116);
44262 match(ENDPOINT);
44263 }
44264 break;
44265 }
44266 }
44267 catch (RecognitionException re) {
44268 _localctx.exception = re;
44269 _errHandler.reportError(this, re);
44270 _errHandler.recover(this, re);
44271 }
44272 finally {
44273 exitRule();
44274 }
44275 return _localctx;
44276 }
44277
44278 public static class CertificatePermissionContext extends ParserRuleContext {
44279 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44280 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44281 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44282 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44283 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44284 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44285 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44286 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44287 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
44288 public CertificatePermissionContext(ParserRuleContext parent, int invokingState) {
44289 super(parent, invokingState);
44290 }
44291 @Override public int getRuleIndex() { return RULE_certificatePermission; }
44292 @Override
44293 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44294 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCertificatePermission(this);
44295 else return visitor.visitChildren(this);
44296 }
44297 }
44298
44299 public final CertificatePermissionContext certificatePermission() throws RecognitionException {
44300 CertificatePermissionContext _localctx = new CertificatePermissionContext(_ctx, getState());
44301 enterRule(_localctx, 836, RULE_certificatePermission);
44302 try {
44303 setState(6129);
44304 _errHandler.sync(this);
44305 switch ( getInterpreter().adaptivePredict(_input,698,_ctx) ) {
44306 case 1:
44307 enterOuterAlt(_localctx, 1);
44308 {
44309 setState(6119);
44310 match(CONTROL);
44311 }
44312 break;
44313 case 2:
44314 enterOuterAlt(_localctx, 2);
44315 {
44316 setState(6120);
44317 match(TAKE);
44318 setState(6121);
44319 match(OWNERSHIP);
44320 }
44321 break;
44322 case 3:
44323 enterOuterAlt(_localctx, 3);
44324 {
44325 setState(6122);
44326 match(ALTER);
44327 }
44328 break;
44329 case 4:
44330 enterOuterAlt(_localctx, 4);
44331 {
44332 setState(6123);
44333 match(REFERENCES);
44334 }
44335 break;
44336 case 5:
44337 enterOuterAlt(_localctx, 5);
44338 {
44339 setState(6124);
44340 match(VIEW);
44341 setState(6125);
44342 match(DEFINITION);
44343 }
44344 break;
44345 case 6:
44346 enterOuterAlt(_localctx, 6);
44347 {
44348 setState(6126);
44349 match(ALTER);
44350 setState(6127);
44351 match(ANY);
44352 setState(6128);
44353 match(CERTIFICATE);
44354 }
44355 break;
44356 }
44357 }
44358 catch (RecognitionException re) {
44359 _localctx.exception = re;
44360 _errHandler.reportError(this, re);
44361 _errHandler.recover(this, re);
44362 }
44363 finally {
44364 exitRule();
44365 }
44366 return _localctx;
44367 }
44368
44369 public static class SymmetricKeyPermissionContext extends ParserRuleContext {
44370 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44371 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44372 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44373 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44374 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44375 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44376 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44377 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44378 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
44379 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
44380 public SymmetricKeyPermissionContext(ParserRuleContext parent, int invokingState) {
44381 super(parent, invokingState);
44382 }
44383 @Override public int getRuleIndex() { return RULE_symmetricKeyPermission; }
44384 @Override
44385 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44386 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSymmetricKeyPermission(this);
44387 else return visitor.visitChildren(this);
44388 }
44389 }
44390
44391 public final SymmetricKeyPermissionContext symmetricKeyPermission() throws RecognitionException {
44392 SymmetricKeyPermissionContext _localctx = new SymmetricKeyPermissionContext(_ctx, getState());
44393 enterRule(_localctx, 838, RULE_symmetricKeyPermission);
44394 try {
44395 setState(6142);
44396 _errHandler.sync(this);
44397 switch ( getInterpreter().adaptivePredict(_input,699,_ctx) ) {
44398 case 1:
44399 enterOuterAlt(_localctx, 1);
44400 {
44401 setState(6131);
44402 match(ALTER);
44403 }
44404 break;
44405 case 2:
44406 enterOuterAlt(_localctx, 2);
44407 {
44408 setState(6132);
44409 match(CONTROL);
44410 }
44411 break;
44412 case 3:
44413 enterOuterAlt(_localctx, 3);
44414 {
44415 setState(6133);
44416 match(REFERENCES);
44417 }
44418 break;
44419 case 4:
44420 enterOuterAlt(_localctx, 4);
44421 {
44422 setState(6134);
44423 match(TAKE);
44424 setState(6135);
44425 match(OWNERSHIP);
44426 }
44427 break;
44428 case 5:
44429 enterOuterAlt(_localctx, 5);
44430 {
44431 setState(6136);
44432 match(VIEW);
44433 setState(6137);
44434 match(DEFINITION);
44435 }
44436 break;
44437 case 6:
44438 enterOuterAlt(_localctx, 6);
44439 {
44440 setState(6138);
44441 match(ALTER);
44442 setState(6139);
44443 match(ANY);
44444 setState(6140);
44445 match(SYMMETRIC);
44446 setState(6141);
44447 match(KEY);
44448 }
44449 break;
44450 }
44451 }
44452 catch (RecognitionException re) {
44453 _localctx.exception = re;
44454 _errHandler.reportError(this, re);
44455 _errHandler.recover(this, re);
44456 }
44457 finally {
44458 exitRule();
44459 }
44460 return _localctx;
44461 }
44462
44463 public static class AsymmetricKeyPermissionContext extends ParserRuleContext {
44464 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44465 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44466 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44467 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44468 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44469 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44470 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44471 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44472 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
44473 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
44474 public AsymmetricKeyPermissionContext(ParserRuleContext parent, int invokingState) {
44475 super(parent, invokingState);
44476 }
44477 @Override public int getRuleIndex() { return RULE_asymmetricKeyPermission; }
44478 @Override
44479 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44480 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAsymmetricKeyPermission(this);
44481 else return visitor.visitChildren(this);
44482 }
44483 }
44484
44485 public final AsymmetricKeyPermissionContext asymmetricKeyPermission() throws RecognitionException {
44486 AsymmetricKeyPermissionContext _localctx = new AsymmetricKeyPermissionContext(_ctx, getState());
44487 enterRule(_localctx, 840, RULE_asymmetricKeyPermission);
44488 try {
44489 setState(6155);
44490 _errHandler.sync(this);
44491 switch ( getInterpreter().adaptivePredict(_input,700,_ctx) ) {
44492 case 1:
44493 enterOuterAlt(_localctx, 1);
44494 {
44495 setState(6144);
44496 match(CONTROL);
44497 }
44498 break;
44499 case 2:
44500 enterOuterAlt(_localctx, 2);
44501 {
44502 setState(6145);
44503 match(TAKE);
44504 setState(6146);
44505 match(OWNERSHIP);
44506 }
44507 break;
44508 case 3:
44509 enterOuterAlt(_localctx, 3);
44510 {
44511 setState(6147);
44512 match(ALTER);
44513 }
44514 break;
44515 case 4:
44516 enterOuterAlt(_localctx, 4);
44517 {
44518 setState(6148);
44519 match(REFERENCES);
44520 }
44521 break;
44522 case 5:
44523 enterOuterAlt(_localctx, 5);
44524 {
44525 setState(6149);
44526 match(VIEW);
44527 setState(6150);
44528 match(DEFINITION);
44529 }
44530 break;
44531 case 6:
44532 enterOuterAlt(_localctx, 6);
44533 {
44534 setState(6151);
44535 match(ALTER);
44536 setState(6152);
44537 match(ANY);
44538 setState(6153);
44539 match(ASYMMETRIC);
44540 setState(6154);
44541 match(KEY);
44542 }
44543 break;
44544 }
44545 }
44546 catch (RecognitionException re) {
44547 _localctx.exception = re;
44548 _errHandler.reportError(this, re);
44549 _errHandler.recover(this, re);
44550 }
44551 finally {
44552 exitRule();
44553 }
44554 return _localctx;
44555 }
44556
44557 public static class AssemblyPermissionContext extends ParserRuleContext {
44558 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44559 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44560 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44561 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44562 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44563 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44564 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44565 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44566 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
44567 public AssemblyPermissionContext(ParserRuleContext parent, int invokingState) {
44568 super(parent, invokingState);
44569 }
44570 @Override public int getRuleIndex() { return RULE_assemblyPermission; }
44571 @Override
44572 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44573 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAssemblyPermission(this);
44574 else return visitor.visitChildren(this);
44575 }
44576 }
44577
44578 public final AssemblyPermissionContext assemblyPermission() throws RecognitionException {
44579 AssemblyPermissionContext _localctx = new AssemblyPermissionContext(_ctx, getState());
44580 enterRule(_localctx, 842, RULE_assemblyPermission);
44581 try {
44582 setState(6167);
44583 _errHandler.sync(this);
44584 switch ( getInterpreter().adaptivePredict(_input,701,_ctx) ) {
44585 case 1:
44586 enterOuterAlt(_localctx, 1);
44587 {
44588 setState(6157);
44589 match(CONTROL);
44590 }
44591 break;
44592 case 2:
44593 enterOuterAlt(_localctx, 2);
44594 {
44595 setState(6158);
44596 match(TAKE);
44597 setState(6159);
44598 match(OWNERSHIP);
44599 }
44600 break;
44601 case 3:
44602 enterOuterAlt(_localctx, 3);
44603 {
44604 setState(6160);
44605 match(ALTER);
44606 }
44607 break;
44608 case 4:
44609 enterOuterAlt(_localctx, 4);
44610 {
44611 setState(6161);
44612 match(REFERENCES);
44613 }
44614 break;
44615 case 5:
44616 enterOuterAlt(_localctx, 5);
44617 {
44618 setState(6162);
44619 match(VIEW);
44620 setState(6163);
44621 match(DEFINITION);
44622 }
44623 break;
44624 case 6:
44625 enterOuterAlt(_localctx, 6);
44626 {
44627 setState(6164);
44628 match(ALTER);
44629 setState(6165);
44630 match(ANY);
44631 setState(6166);
44632 match(ASSEMBLY);
44633 }
44634 break;
44635 }
44636 }
44637 catch (RecognitionException re) {
44638 _localctx.exception = re;
44639 _errHandler.reportError(this, re);
44640 _errHandler.recover(this, re);
44641 }
44642 finally {
44643 exitRule();
44644 }
44645 return _localctx;
44646 }
44647
44648 public static class AvailabilityGroupPermissionContext extends ParserRuleContext {
44649 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44650 public TerminalNode CONNECT() { return getToken(SQLServerStatementParser.CONNECT, 0); }
44651 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44652 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
44653 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44654 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44655 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44656 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44657 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44658 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
44659 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
44660 public AvailabilityGroupPermissionContext(ParserRuleContext parent, int invokingState) {
44661 super(parent, invokingState);
44662 }
44663 @Override public int getRuleIndex() { return RULE_availabilityGroupPermission; }
44664 @Override
44665 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44666 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAvailabilityGroupPermission(this);
44667 else return visitor.visitChildren(this);
44668 }
44669 }
44670
44671 public final AvailabilityGroupPermissionContext availabilityGroupPermission() throws RecognitionException {
44672 AvailabilityGroupPermissionContext _localctx = new AvailabilityGroupPermissionContext(_ctx, getState());
44673 enterRule(_localctx, 844, RULE_availabilityGroupPermission);
44674 int _la;
44675 try {
44676 setState(6186);
44677 _errHandler.sync(this);
44678 switch ( getInterpreter().adaptivePredict(_input,704,_ctx) ) {
44679 case 1:
44680 enterOuterAlt(_localctx, 1);
44681 {
44682 setState(6169);
44683 match(ALTER);
44684 }
44685 break;
44686 case 2:
44687 enterOuterAlt(_localctx, 2);
44688 {
44689 setState(6170);
44690 match(CONNECT);
44691 }
44692 break;
44693 case 3:
44694 enterOuterAlt(_localctx, 3);
44695 {
44696 setState(6171);
44697 match(CONTROL);
44698 setState(6173);
44699 _errHandler.sync(this);
44700 _la = _input.LA(1);
44701 if (_la==SERVER) {
44702 {
44703 setState(6172);
44704 match(SERVER);
44705 }
44706 }
44707
44708 }
44709 break;
44710 case 4:
44711 enterOuterAlt(_localctx, 4);
44712 {
44713 setState(6175);
44714 match(TAKE);
44715 setState(6176);
44716 match(OWNERSHIP);
44717 }
44718 break;
44719 case 5:
44720 enterOuterAlt(_localctx, 5);
44721 {
44722 setState(6177);
44723 match(VIEW);
44724 setState(6179);
44725 _errHandler.sync(this);
44726 _la = _input.LA(1);
44727 if (_la==ANY) {
44728 {
44729 setState(6178);
44730 match(ANY);
44731 }
44732 }
44733
44734 setState(6181);
44735 match(DEFINITION);
44736 }
44737 break;
44738 case 6:
44739 enterOuterAlt(_localctx, 6);
44740 {
44741 setState(6182);
44742 match(ALTER);
44743 setState(6183);
44744 match(ANY);
44745 setState(6184);
44746 match(AVAILABILITY);
44747 setState(6185);
44748 match(GROUP);
44749 }
44750 break;
44751 }
44752 }
44753 catch (RecognitionException re) {
44754 _localctx.exception = re;
44755 _errHandler.reportError(this, re);
44756 _errHandler.recover(this, re);
44757 }
44758 finally {
44759 exitRule();
44760 }
44761 return _localctx;
44762 }
44763
44764 public static class FullTextPermissionContext extends ParserRuleContext {
44765 public FullTextCatalogPermissionContext fullTextCatalogPermission() {
44766 return getRuleContext(FullTextCatalogPermissionContext.class,0);
44767 }
44768 public FullTextStoplistPermissionContext fullTextStoplistPermission() {
44769 return getRuleContext(FullTextStoplistPermissionContext.class,0);
44770 }
44771 public FullTextPermissionContext(ParserRuleContext parent, int invokingState) {
44772 super(parent, invokingState);
44773 }
44774 @Override public int getRuleIndex() { return RULE_fullTextPermission; }
44775 @Override
44776 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44777 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextPermission(this);
44778 else return visitor.visitChildren(this);
44779 }
44780 }
44781
44782 public final FullTextPermissionContext fullTextPermission() throws RecognitionException {
44783 FullTextPermissionContext _localctx = new FullTextPermissionContext(_ctx, getState());
44784 enterRule(_localctx, 846, RULE_fullTextPermission);
44785 try {
44786 setState(6190);
44787 _errHandler.sync(this);
44788 switch ( getInterpreter().adaptivePredict(_input,705,_ctx) ) {
44789 case 1:
44790 enterOuterAlt(_localctx, 1);
44791 {
44792 setState(6188);
44793 fullTextCatalogPermission();
44794 }
44795 break;
44796 case 2:
44797 enterOuterAlt(_localctx, 2);
44798 {
44799 setState(6189);
44800 fullTextStoplistPermission();
44801 }
44802 break;
44803 }
44804 }
44805 catch (RecognitionException re) {
44806 _localctx.exception = re;
44807 _errHandler.reportError(this, re);
44808 _errHandler.recover(this, re);
44809 }
44810 finally {
44811 exitRule();
44812 }
44813 return _localctx;
44814 }
44815
44816 public static class FullTextCatalogPermissionContext extends ParserRuleContext {
44817 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44818 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44819 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44820 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44821 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44822 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44823 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44824 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44825 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
44826 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
44827 public FullTextCatalogPermissionContext(ParserRuleContext parent, int invokingState) {
44828 super(parent, invokingState);
44829 }
44830 @Override public int getRuleIndex() { return RULE_fullTextCatalogPermission; }
44831 @Override
44832 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44833 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextCatalogPermission(this);
44834 else return visitor.visitChildren(this);
44835 }
44836 }
44837
44838 public final FullTextCatalogPermissionContext fullTextCatalogPermission() throws RecognitionException {
44839 FullTextCatalogPermissionContext _localctx = new FullTextCatalogPermissionContext(_ctx, getState());
44840 enterRule(_localctx, 848, RULE_fullTextCatalogPermission);
44841 try {
44842 setState(6203);
44843 _errHandler.sync(this);
44844 switch ( getInterpreter().adaptivePredict(_input,706,_ctx) ) {
44845 case 1:
44846 enterOuterAlt(_localctx, 1);
44847 {
44848 setState(6192);
44849 match(CONTROL);
44850 }
44851 break;
44852 case 2:
44853 enterOuterAlt(_localctx, 2);
44854 {
44855 setState(6193);
44856 match(TAKE);
44857 setState(6194);
44858 match(OWNERSHIP);
44859 }
44860 break;
44861 case 3:
44862 enterOuterAlt(_localctx, 3);
44863 {
44864 setState(6195);
44865 match(ALTER);
44866 }
44867 break;
44868 case 4:
44869 enterOuterAlt(_localctx, 4);
44870 {
44871 setState(6196);
44872 match(REFERENCES);
44873 }
44874 break;
44875 case 5:
44876 enterOuterAlt(_localctx, 5);
44877 {
44878 setState(6197);
44879 match(VIEW);
44880 setState(6198);
44881 match(DEFINITION);
44882 }
44883 break;
44884 case 6:
44885 enterOuterAlt(_localctx, 6);
44886 {
44887 setState(6199);
44888 match(ALTER);
44889 setState(6200);
44890 match(ANY);
44891 setState(6201);
44892 match(FULLTEXT);
44893 setState(6202);
44894 match(CATALOG);
44895 }
44896 break;
44897 }
44898 }
44899 catch (RecognitionException re) {
44900 _localctx.exception = re;
44901 _errHandler.reportError(this, re);
44902 _errHandler.recover(this, re);
44903 }
44904 finally {
44905 exitRule();
44906 }
44907 return _localctx;
44908 }
44909
44910 public static class FullTextStoplistPermissionContext extends ParserRuleContext {
44911 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
44912 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
44913 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
44914 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
44915 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
44916 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
44917 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
44918 public TerminalNode ANY() { return getToken(SQLServerStatementParser.ANY, 0); }
44919 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
44920 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
44921 public FullTextStoplistPermissionContext(ParserRuleContext parent, int invokingState) {
44922 super(parent, invokingState);
44923 }
44924 @Override public int getRuleIndex() { return RULE_fullTextStoplistPermission; }
44925 @Override
44926 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
44927 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitFullTextStoplistPermission(this);
44928 else return visitor.visitChildren(this);
44929 }
44930 }
44931
44932 public final FullTextStoplistPermissionContext fullTextStoplistPermission() throws RecognitionException {
44933 FullTextStoplistPermissionContext _localctx = new FullTextStoplistPermissionContext(_ctx, getState());
44934 enterRule(_localctx, 850, RULE_fullTextStoplistPermission);
44935 try {
44936 setState(6216);
44937 _errHandler.sync(this);
44938 switch ( getInterpreter().adaptivePredict(_input,707,_ctx) ) {
44939 case 1:
44940 enterOuterAlt(_localctx, 1);
44941 {
44942 setState(6205);
44943 match(ALTER);
44944 }
44945 break;
44946 case 2:
44947 enterOuterAlt(_localctx, 2);
44948 {
44949 setState(6206);
44950 match(CONTROL);
44951 }
44952 break;
44953 case 3:
44954 enterOuterAlt(_localctx, 3);
44955 {
44956 setState(6207);
44957 match(REFERENCES);
44958 }
44959 break;
44960 case 4:
44961 enterOuterAlt(_localctx, 4);
44962 {
44963 setState(6208);
44964 match(TAKE);
44965 setState(6209);
44966 match(OWNERSHIP);
44967 }
44968 break;
44969 case 5:
44970 enterOuterAlt(_localctx, 5);
44971 {
44972 setState(6210);
44973 match(VIEW);
44974 setState(6211);
44975 match(DEFINITION);
44976 }
44977 break;
44978 case 6:
44979 enterOuterAlt(_localctx, 6);
44980 {
44981 setState(6212);
44982 match(ALTER);
44983 setState(6213);
44984 match(ANY);
44985 setState(6214);
44986 match(FULLTEXT);
44987 setState(6215);
44988 match(CATALOG);
44989 }
44990 break;
44991 }
44992 }
44993 catch (RecognitionException re) {
44994 _localctx.exception = re;
44995 _errHandler.reportError(this, re);
44996 _errHandler.recover(this, re);
44997 }
44998 finally {
44999 exitRule();
45000 }
45001 return _localctx;
45002 }
45003
45004 public static class TypePermissionContext extends ParserRuleContext {
45005 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45006 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
45007 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45008 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45009 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45010 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45011 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45012 public TypePermissionContext(ParserRuleContext parent, int invokingState) {
45013 super(parent, invokingState);
45014 }
45015 @Override public int getRuleIndex() { return RULE_typePermission; }
45016 @Override
45017 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45018 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitTypePermission(this);
45019 else return visitor.visitChildren(this);
45020 }
45021 }
45022
45023 public final TypePermissionContext typePermission() throws RecognitionException {
45024 TypePermissionContext _localctx = new TypePermissionContext(_ctx, getState());
45025 enterRule(_localctx, 852, RULE_typePermission);
45026 try {
45027 setState(6225);
45028 _errHandler.sync(this);
45029 switch (_input.LA(1)) {
45030 case CONTROL:
45031 enterOuterAlt(_localctx, 1);
45032 {
45033 setState(6218);
45034 match(CONTROL);
45035 }
45036 break;
45037 case EXECUTE:
45038 enterOuterAlt(_localctx, 2);
45039 {
45040 setState(6219);
45041 match(EXECUTE);
45042 }
45043 break;
45044 case REFERENCES:
45045 enterOuterAlt(_localctx, 3);
45046 {
45047 setState(6220);
45048 match(REFERENCES);
45049 }
45050 break;
45051 case TAKE:
45052 enterOuterAlt(_localctx, 4);
45053 {
45054 setState(6221);
45055 match(TAKE);
45056 setState(6222);
45057 match(OWNERSHIP);
45058 }
45059 break;
45060 case VIEW:
45061 enterOuterAlt(_localctx, 5);
45062 {
45063 setState(6223);
45064 match(VIEW);
45065 setState(6224);
45066 match(DEFINITION);
45067 }
45068 break;
45069 default:
45070 throw new NoViableAltException(this);
45071 }
45072 }
45073 catch (RecognitionException re) {
45074 _localctx.exception = re;
45075 _errHandler.reportError(this, re);
45076 _errHandler.recover(this, re);
45077 }
45078 finally {
45079 exitRule();
45080 }
45081 return _localctx;
45082 }
45083
45084 public static class XmlSchemaCollectionPermissionContext extends ParserRuleContext {
45085 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
45086 public TerminalNode CONTROL() { return getToken(SQLServerStatementParser.CONTROL, 0); }
45087 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
45088 public TerminalNode REFERENCES() { return getToken(SQLServerStatementParser.REFERENCES, 0); }
45089 public TerminalNode TAKE() { return getToken(SQLServerStatementParser.TAKE, 0); }
45090 public TerminalNode OWNERSHIP() { return getToken(SQLServerStatementParser.OWNERSHIP, 0); }
45091 public TerminalNode VIEW() { return getToken(SQLServerStatementParser.VIEW, 0); }
45092 public TerminalNode DEFINITION() { return getToken(SQLServerStatementParser.DEFINITION, 0); }
45093 public XmlSchemaCollectionPermissionContext(ParserRuleContext parent, int invokingState) {
45094 super(parent, invokingState);
45095 }
45096 @Override public int getRuleIndex() { return RULE_xmlSchemaCollectionPermission; }
45097 @Override
45098 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45099 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitXmlSchemaCollectionPermission(this);
45100 else return visitor.visitChildren(this);
45101 }
45102 }
45103
45104 public final XmlSchemaCollectionPermissionContext xmlSchemaCollectionPermission() throws RecognitionException {
45105 XmlSchemaCollectionPermissionContext _localctx = new XmlSchemaCollectionPermissionContext(_ctx, getState());
45106 enterRule(_localctx, 854, RULE_xmlSchemaCollectionPermission);
45107 try {
45108 setState(6235);
45109 _errHandler.sync(this);
45110 switch (_input.LA(1)) {
45111 case ALTER:
45112 enterOuterAlt(_localctx, 1);
45113 {
45114 setState(6227);
45115 match(ALTER);
45116 }
45117 break;
45118 case CONTROL:
45119 enterOuterAlt(_localctx, 2);
45120 {
45121 setState(6228);
45122 match(CONTROL);
45123 }
45124 break;
45125 case EXECUTE:
45126 enterOuterAlt(_localctx, 3);
45127 {
45128 setState(6229);
45129 match(EXECUTE);
45130 }
45131 break;
45132 case REFERENCES:
45133 enterOuterAlt(_localctx, 4);
45134 {
45135 setState(6230);
45136 match(REFERENCES);
45137 }
45138 break;
45139 case TAKE:
45140 enterOuterAlt(_localctx, 5);
45141 {
45142 setState(6231);
45143 match(TAKE);
45144 setState(6232);
45145 match(OWNERSHIP);
45146 }
45147 break;
45148 case VIEW:
45149 enterOuterAlt(_localctx, 6);
45150 {
45151 setState(6233);
45152 match(VIEW);
45153 setState(6234);
45154 match(DEFINITION);
45155 }
45156 break;
45157 default:
45158 throw new NoViableAltException(this);
45159 }
45160 }
45161 catch (RecognitionException re) {
45162 _localctx.exception = re;
45163 _errHandler.reportError(this, re);
45164 _errHandler.recover(this, re);
45165 }
45166 finally {
45167 exitRule();
45168 }
45169 return _localctx;
45170 }
45171
45172 public static class SystemObjectPermissionContext extends ParserRuleContext {
45173 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
45174 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
45175 public SystemObjectPermissionContext(ParserRuleContext parent, int invokingState) {
45176 super(parent, invokingState);
45177 }
45178 @Override public int getRuleIndex() { return RULE_systemObjectPermission; }
45179 @Override
45180 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45181 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSystemObjectPermission(this);
45182 else return visitor.visitChildren(this);
45183 }
45184 }
45185
45186 public final SystemObjectPermissionContext systemObjectPermission() throws RecognitionException {
45187 SystemObjectPermissionContext _localctx = new SystemObjectPermissionContext(_ctx, getState());
45188 enterRule(_localctx, 856, RULE_systemObjectPermission);
45189 int _la;
45190 try {
45191 enterOuterAlt(_localctx, 1);
45192 {
45193 setState(6237);
45194 _la = _input.LA(1);
45195 if ( !(_la==SELECT || _la==EXECUTE) ) {
45196 _errHandler.recoverInline(this);
45197 }
45198 else {
45199 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
45200 _errHandler.reportMatch(this);
45201 consume();
45202 }
45203 }
45204 }
45205 catch (RecognitionException re) {
45206 _localctx.exception = re;
45207 _errHandler.reportError(this, re);
45208 _errHandler.recover(this, re);
45209 }
45210 finally {
45211 exitRule();
45212 }
45213 return _localctx;
45214 }
45215
45216 public static class Class_Context extends ParserRuleContext {
45217 public TerminalNode IDENTIFIER_() { return getToken(SQLServerStatementParser.IDENTIFIER_, 0); }
45218 public List<TerminalNode> COLON_() { return getTokens(SQLServerStatementParser.COLON_); }
45219 public TerminalNode COLON_(int i) {
45220 return getToken(SQLServerStatementParser.COLON_, i);
45221 }
45222 public Class_Context(ParserRuleContext parent, int invokingState) {
45223 super(parent, invokingState);
45224 }
45225 @Override public int getRuleIndex() { return RULE_class_; }
45226 @Override
45227 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45228 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClass_(this);
45229 else return visitor.visitChildren(this);
45230 }
45231 }
45232
45233 public final Class_Context class_() throws RecognitionException {
45234 Class_Context _localctx = new Class_Context(_ctx, getState());
45235 enterRule(_localctx, 858, RULE_class_);
45236 try {
45237 enterOuterAlt(_localctx, 1);
45238 {
45239 setState(6239);
45240 match(IDENTIFIER_);
45241 setState(6240);
45242 match(COLON_);
45243 setState(6241);
45244 match(COLON_);
45245 }
45246 }
45247 catch (RecognitionException re) {
45248 _localctx.exception = re;
45249 _errHandler.reportError(this, re);
45250 _errHandler.recover(this, re);
45251 }
45252 finally {
45253 exitRule();
45254 }
45255 return _localctx;
45256 }
45257
45258 public static class ClassItemContext extends ParserRuleContext {
45259 public TerminalNode ASSEMBLY() { return getToken(SQLServerStatementParser.ASSEMBLY, 0); }
45260 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
45261 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
45262 public TerminalNode AVAILABILITY() { return getToken(SQLServerStatementParser.AVAILABILITY, 0); }
45263 public TerminalNode GROUP() { return getToken(SQLServerStatementParser.GROUP, 0); }
45264 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
45265 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
45266 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
45267 public TerminalNode APPLICATION() { return getToken(SQLServerStatementParser.APPLICATION, 0); }
45268 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
45269 public TerminalNode SCOPED() { return getToken(SQLServerStatementParser.SCOPED, 0); }
45270 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
45271 public TerminalNode ENDPOINT() { return getToken(SQLServerStatementParser.ENDPOINT, 0); }
45272 public TerminalNode FULLTEXT() { return getToken(SQLServerStatementParser.FULLTEXT, 0); }
45273 public TerminalNode CATALOG() { return getToken(SQLServerStatementParser.CATALOG, 0); }
45274 public TerminalNode STOPLIST() { return getToken(SQLServerStatementParser.STOPLIST, 0); }
45275 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
45276 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
45277 public TerminalNode SEARCH() { return getToken(SQLServerStatementParser.SEARCH, 0); }
45278 public TerminalNode PROPERTY() { return getToken(SQLServerStatementParser.PROPERTY, 0); }
45279 public TerminalNode LIST() { return getToken(SQLServerStatementParser.LIST, 0); }
45280 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
45281 public TerminalNode SERVER() { return getToken(SQLServerStatementParser.SERVER, 0); }
45282 public TerminalNode CONTRACT() { return getToken(SQLServerStatementParser.CONTRACT, 0); }
45283 public TerminalNode MESSAGE() { return getToken(SQLServerStatementParser.MESSAGE, 0); }
45284 public TerminalNode TYPE() { return getToken(SQLServerStatementParser.TYPE, 0); }
45285 public TerminalNode REMOTE() { return getToken(SQLServerStatementParser.REMOTE, 0); }
45286 public TerminalNode SERVICE() { return getToken(SQLServerStatementParser.SERVICE, 0); }
45287 public TerminalNode BINDING() { return getToken(SQLServerStatementParser.BINDING, 0); }
45288 public TerminalNode ROUTE() { return getToken(SQLServerStatementParser.ROUTE, 0); }
45289 public TerminalNode SYMMETRIC() { return getToken(SQLServerStatementParser.SYMMETRIC, 0); }
45290 public TerminalNode SELECT() { return getToken(SQLServerStatementParser.SELECT, 0); }
45291 public TerminalNode EXECUTE() { return getToken(SQLServerStatementParser.EXECUTE, 0); }
45292 public TerminalNode XML() { return getToken(SQLServerStatementParser.XML, 0); }
45293 public TerminalNode COLLECTION() { return getToken(SQLServerStatementParser.COLLECTION, 0); }
45294 public ClassItemContext(ParserRuleContext parent, int invokingState) {
45295 super(parent, invokingState);
45296 }
45297 @Override public int getRuleIndex() { return RULE_classItem; }
45298 @Override
45299 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45300 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassItem(this);
45301 else return visitor.visitChildren(this);
45302 }
45303 }
45304
45305 public final ClassItemContext classItem() throws RecognitionException {
45306 ClassItemContext _localctx = new ClassItemContext(_ctx, getState());
45307 enterRule(_localctx, 860, RULE_classItem);
45308 int _la;
45309 try {
45310 setState(6283);
45311 _errHandler.sync(this);
45312 switch (_input.LA(1)) {
45313 case ASSEMBLY:
45314 enterOuterAlt(_localctx, 1);
45315 {
45316 setState(6243);
45317 match(ASSEMBLY);
45318 }
45319 break;
45320 case ASYMMETRIC:
45321 enterOuterAlt(_localctx, 2);
45322 {
45323 setState(6244);
45324 match(ASYMMETRIC);
45325 setState(6245);
45326 match(KEY);
45327 }
45328 break;
45329 case AVAILABILITY:
45330 enterOuterAlt(_localctx, 3);
45331 {
45332 setState(6246);
45333 match(AVAILABILITY);
45334 setState(6247);
45335 match(GROUP);
45336 }
45337 break;
45338 case CERTIFICATE:
45339 enterOuterAlt(_localctx, 4);
45340 {
45341 setState(6248);
45342 match(CERTIFICATE);
45343 }
45344 break;
45345 case USER:
45346 enterOuterAlt(_localctx, 5);
45347 {
45348 setState(6249);
45349 match(USER);
45350 }
45351 break;
45352 case ROLE:
45353 enterOuterAlt(_localctx, 6);
45354 {
45355 setState(6250);
45356 match(ROLE);
45357 }
45358 break;
45359 case APPLICATION:
45360 enterOuterAlt(_localctx, 7);
45361 {
45362 setState(6251);
45363 match(APPLICATION);
45364 setState(6252);
45365 match(ROLE);
45366 }
45367 break;
45368 case DATABASE:
45369 enterOuterAlt(_localctx, 8);
45370 {
45371 setState(6253);
45372 match(DATABASE);
45373 setState(6254);
45374 match(SCOPED);
45375 setState(6255);
45376 match(CREDENTIAL);
45377 }
45378 break;
45379 case ENDPOINT:
45380 enterOuterAlt(_localctx, 9);
45381 {
45382 setState(6256);
45383 match(ENDPOINT);
45384 }
45385 break;
45386 case FULLTEXT:
45387 enterOuterAlt(_localctx, 10);
45388 {
45389 setState(6257);
45390 match(FULLTEXT);
45391 setState(6258);
45392 _la = _input.LA(1);
45393 if ( !(_la==CATALOG || _la==STOPLIST) ) {
45394 _errHandler.recoverInline(this);
45395 }
45396 else {
45397 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
45398 _errHandler.reportMatch(this);
45399 consume();
45400 }
45401 }
45402 break;
45403 case OBJECT:
45404 enterOuterAlt(_localctx, 11);
45405 {
45406 setState(6259);
45407 match(OBJECT);
45408 }
45409 break;
45410 case SCHEMA:
45411 enterOuterAlt(_localctx, 12);
45412 {
45413 setState(6260);
45414 match(SCHEMA);
45415 }
45416 break;
45417 case SEARCH:
45418 enterOuterAlt(_localctx, 13);
45419 {
45420 setState(6261);
45421 match(SEARCH);
45422 setState(6262);
45423 match(PROPERTY);
45424 setState(6263);
45425 match(LIST);
45426 }
45427 break;
45428 case LOGIN:
45429 enterOuterAlt(_localctx, 14);
45430 {
45431 setState(6264);
45432 match(LOGIN);
45433 }
45434 break;
45435 case SERVER:
45436 enterOuterAlt(_localctx, 15);
45437 {
45438 setState(6265);
45439 match(SERVER);
45440 setState(6266);
45441 match(ROLE);
45442 }
45443 break;
45444 case CONTRACT:
45445 enterOuterAlt(_localctx, 16);
45446 {
45447 setState(6267);
45448 match(CONTRACT);
45449 }
45450 break;
45451 case MESSAGE:
45452 enterOuterAlt(_localctx, 17);
45453 {
45454 setState(6268);
45455 match(MESSAGE);
45456 setState(6269);
45457 match(TYPE);
45458 }
45459 break;
45460 case REMOTE:
45461 enterOuterAlt(_localctx, 18);
45462 {
45463 setState(6270);
45464 match(REMOTE);
45465 setState(6271);
45466 match(SERVICE);
45467 setState(6272);
45468 match(BINDING);
45469 }
45470 break;
45471 case ROUTE:
45472 enterOuterAlt(_localctx, 19);
45473 {
45474 setState(6273);
45475 match(ROUTE);
45476 }
45477 break;
45478 case SERVICE:
45479 enterOuterAlt(_localctx, 20);
45480 {
45481 setState(6274);
45482 match(SERVICE);
45483 }
45484 break;
45485 case SYMMETRIC:
45486 enterOuterAlt(_localctx, 21);
45487 {
45488 setState(6275);
45489 match(SYMMETRIC);
45490 setState(6276);
45491 match(KEY);
45492 }
45493 break;
45494 case SELECT:
45495 enterOuterAlt(_localctx, 22);
45496 {
45497 setState(6277);
45498 match(SELECT);
45499 }
45500 break;
45501 case EXECUTE:
45502 enterOuterAlt(_localctx, 23);
45503 {
45504 setState(6278);
45505 match(EXECUTE);
45506 }
45507 break;
45508 case TYPE:
45509 enterOuterAlt(_localctx, 24);
45510 {
45511 setState(6279);
45512 match(TYPE);
45513 }
45514 break;
45515 case XML:
45516 enterOuterAlt(_localctx, 25);
45517 {
45518 setState(6280);
45519 match(XML);
45520 setState(6281);
45521 match(SCHEMA);
45522 setState(6282);
45523 match(COLLECTION);
45524 }
45525 break;
45526 default:
45527 throw new NoViableAltException(this);
45528 }
45529 }
45530 catch (RecognitionException re) {
45531 _localctx.exception = re;
45532 _errHandler.reportError(this, re);
45533 _errHandler.recover(this, re);
45534 }
45535 finally {
45536 exitRule();
45537 }
45538 return _localctx;
45539 }
45540
45541 public static class ClassTypeContext extends ParserRuleContext {
45542 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
45543 public TerminalNode DATABASE() { return getToken(SQLServerStatementParser.DATABASE, 0); }
45544 public TerminalNode OBJECT() { return getToken(SQLServerStatementParser.OBJECT, 0); }
45545 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
45546 public TerminalNode SCHEMA() { return getToken(SQLServerStatementParser.SCHEMA, 0); }
45547 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
45548 public ClassTypeContext(ParserRuleContext parent, int invokingState) {
45549 super(parent, invokingState);
45550 }
45551 @Override public int getRuleIndex() { return RULE_classType; }
45552 @Override
45553 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45554 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitClassType(this);
45555 else return visitor.visitChildren(this);
45556 }
45557 }
45558
45559 public final ClassTypeContext classType() throws RecognitionException {
45560 ClassTypeContext _localctx = new ClassTypeContext(_ctx, getState());
45561 enterRule(_localctx, 862, RULE_classType);
45562 int _la;
45563 try {
45564 enterOuterAlt(_localctx, 1);
45565 {
45566 setState(6285);
45567 _la = _input.LA(1);
45568 if ( !(_la==SCHEMA || ((((_la - 202)) & ~0x3f) == 0 && ((1L << (_la - 202)) & ((1L << (DATABASE - 202)) | (1L << (USER - 202)) | (1L << (ROLE - 202)))) != 0) || _la==LOGIN || _la==OBJECT) ) {
45569 _errHandler.recoverInline(this);
45570 }
45571 else {
45572 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
45573 _errHandler.reportMatch(this);
45574 consume();
45575 }
45576 }
45577 }
45578 catch (RecognitionException re) {
45579 _localctx.exception = re;
45580 _errHandler.reportError(this, re);
45581 _errHandler.recover(this, re);
45582 }
45583 finally {
45584 exitRule();
45585 }
45586 return _localctx;
45587 }
45588
45589 public static class RoleClauseContext extends ParserRuleContext {
45590 public IgnoredIdentifiersContext ignoredIdentifiers() {
45591 return getRuleContext(IgnoredIdentifiersContext.class,0);
45592 }
45593 public RoleClauseContext(ParserRuleContext parent, int invokingState) {
45594 super(parent, invokingState);
45595 }
45596 @Override public int getRuleIndex() { return RULE_roleClause; }
45597 @Override
45598 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45599 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRoleClause(this);
45600 else return visitor.visitChildren(this);
45601 }
45602 }
45603
45604 public final RoleClauseContext roleClause() throws RecognitionException {
45605 RoleClauseContext _localctx = new RoleClauseContext(_ctx, getState());
45606 enterRule(_localctx, 864, RULE_roleClause);
45607 try {
45608 enterOuterAlt(_localctx, 1);
45609 {
45610 setState(6287);
45611 ignoredIdentifiers();
45612 }
45613 }
45614 catch (RecognitionException re) {
45615 _localctx.exception = re;
45616 _errHandler.reportError(this, re);
45617 _errHandler.recover(this, re);
45618 }
45619 finally {
45620 exitRule();
45621 }
45622 return _localctx;
45623 }
45624
45625 public static class SetUserContext extends ParserRuleContext {
45626 public TerminalNode SETUSER() { return getToken(SQLServerStatementParser.SETUSER, 0); }
45627 public StringLiteralsContext stringLiterals() {
45628 return getRuleContext(StringLiteralsContext.class,0);
45629 }
45630 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
45631 public TerminalNode NORESET() { return getToken(SQLServerStatementParser.NORESET, 0); }
45632 public SetUserContext(ParserRuleContext parent, int invokingState) {
45633 super(parent, invokingState);
45634 }
45635 @Override public int getRuleIndex() { return RULE_setUser; }
45636 @Override
45637 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45638 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetUser(this);
45639 else return visitor.visitChildren(this);
45640 }
45641 }
45642
45643 public final SetUserContext setUser() throws RecognitionException {
45644 SetUserContext _localctx = new SetUserContext(_ctx, getState());
45645 enterRule(_localctx, 866, RULE_setUser);
45646 int _la;
45647 try {
45648 enterOuterAlt(_localctx, 1);
45649 {
45650 setState(6289);
45651 match(SETUSER);
45652 setState(6295);
45653 _errHandler.sync(this);
45654 _la = _input.LA(1);
45655 if (_la==STRING_ || _la==NCHAR_TEXT) {
45656 {
45657 setState(6290);
45658 stringLiterals();
45659 setState(6293);
45660 _errHandler.sync(this);
45661 _la = _input.LA(1);
45662 if (_la==WITH) {
45663 {
45664 setState(6291);
45665 match(WITH);
45666 setState(6292);
45667 match(NORESET);
45668 }
45669 }
45670
45671 }
45672 }
45673
45674 }
45675 }
45676 catch (RecognitionException re) {
45677 _localctx.exception = re;
45678 _errHandler.reportError(this, re);
45679 _errHandler.recover(this, re);
45680 }
45681 finally {
45682 exitRule();
45683 }
45684 return _localctx;
45685 }
45686
45687 public static class CreateUserContext extends ParserRuleContext {
45688 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
45689 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
45690 public CreateUserLoginClauseContext createUserLoginClause() {
45691 return getRuleContext(CreateUserLoginClauseContext.class,0);
45692 }
45693 public CreateUserWindowsPrincipalClauseContext createUserWindowsPrincipalClause() {
45694 return getRuleContext(CreateUserWindowsPrincipalClauseContext.class,0);
45695 }
45696 public CreateUserLoginWindowsPrincipalClauseContext createUserLoginWindowsPrincipalClause() {
45697 return getRuleContext(CreateUserLoginWindowsPrincipalClauseContext.class,0);
45698 }
45699 public CreateUserWithoutLoginClauseContext createUserWithoutLoginClause() {
45700 return getRuleContext(CreateUserWithoutLoginClauseContext.class,0);
45701 }
45702 public CreateUserFromExternalProviderClauseContext createUserFromExternalProviderClause() {
45703 return getRuleContext(CreateUserFromExternalProviderClauseContext.class,0);
45704 }
45705 public CreateUserWithDefaultSchemaContext createUserWithDefaultSchema() {
45706 return getRuleContext(CreateUserWithDefaultSchemaContext.class,0);
45707 }
45708 public CreateUserWithAzureActiveDirectoryPrincipalClauseContext createUserWithAzureActiveDirectoryPrincipalClause() {
45709 return getRuleContext(CreateUserWithAzureActiveDirectoryPrincipalClauseContext.class,0);
45710 }
45711 public UserNameContext userName() {
45712 return getRuleContext(UserNameContext.class,0);
45713 }
45714 public CreateUserContext(ParserRuleContext parent, int invokingState) {
45715 super(parent, invokingState);
45716 }
45717 @Override public int getRuleIndex() { return RULE_createUser; }
45718 @Override
45719 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45720 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUser(this);
45721 else return visitor.visitChildren(this);
45722 }
45723 }
45724
45725 public final CreateUserContext createUser() throws RecognitionException {
45726 CreateUserContext _localctx = new CreateUserContext(_ctx, getState());
45727 enterRule(_localctx, 868, RULE_createUser);
45728 try {
45729 enterOuterAlt(_localctx, 1);
45730 {
45731 setState(6297);
45732 match(CREATE);
45733 setState(6298);
45734 match(USER);
45735 setState(6307);
45736 _errHandler.sync(this);
45737 switch ( getInterpreter().adaptivePredict(_input,713,_ctx) ) {
45738 case 1:
45739 {
45740 setState(6299);
45741 createUserLoginClause();
45742 }
45743 break;
45744 case 2:
45745 {
45746 setState(6300);
45747 createUserWindowsPrincipalClause();
45748 }
45749 break;
45750 case 3:
45751 {
45752 setState(6301);
45753 createUserLoginWindowsPrincipalClause();
45754 }
45755 break;
45756 case 4:
45757 {
45758 setState(6302);
45759 createUserWithoutLoginClause();
45760 }
45761 break;
45762 case 5:
45763 {
45764 setState(6303);
45765 createUserFromExternalProviderClause();
45766 }
45767 break;
45768 case 6:
45769 {
45770 setState(6304);
45771 createUserWithDefaultSchema();
45772 }
45773 break;
45774 case 7:
45775 {
45776 setState(6305);
45777 createUserWithAzureActiveDirectoryPrincipalClause();
45778 }
45779 break;
45780 case 8:
45781 {
45782 setState(6306);
45783 userName();
45784 }
45785 break;
45786 }
45787 }
45788 }
45789 catch (RecognitionException re) {
45790 _localctx.exception = re;
45791 _errHandler.reportError(this, re);
45792 _errHandler.recover(this, re);
45793 }
45794 finally {
45795 exitRule();
45796 }
45797 return _localctx;
45798 }
45799
45800 public static class CreateUserLoginClauseContext extends ParserRuleContext {
45801 public UserNameContext userName() {
45802 return getRuleContext(UserNameContext.class,0);
45803 }
45804 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
45805 public IdentifierContext identifier() {
45806 return getRuleContext(IdentifierContext.class,0);
45807 }
45808 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
45809 public List<LimitedOptionsListContext> limitedOptionsList() {
45810 return getRuleContexts(LimitedOptionsListContext.class);
45811 }
45812 public LimitedOptionsListContext limitedOptionsList(int i) {
45813 return getRuleContext(LimitedOptionsListContext.class,i);
45814 }
45815 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
45816 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
45817 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
45818 public TerminalNode COMMA_(int i) {
45819 return getToken(SQLServerStatementParser.COMMA_, i);
45820 }
45821 public CreateUserLoginClauseContext(ParserRuleContext parent, int invokingState) {
45822 super(parent, invokingState);
45823 }
45824 @Override public int getRuleIndex() { return RULE_createUserLoginClause; }
45825 @Override
45826 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45827 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserLoginClause(this);
45828 else return visitor.visitChildren(this);
45829 }
45830 }
45831
45832 public final CreateUserLoginClauseContext createUserLoginClause() throws RecognitionException {
45833 CreateUserLoginClauseContext _localctx = new CreateUserLoginClauseContext(_ctx, getState());
45834 enterRule(_localctx, 870, RULE_createUserLoginClause);
45835 int _la;
45836 try {
45837 enterOuterAlt(_localctx, 1);
45838 {
45839 setState(6309);
45840 userName();
45841 setState(6313);
45842 _errHandler.sync(this);
45843 _la = _input.LA(1);
45844 if (_la==FROM || _la==FOR) {
45845 {
45846 setState(6310);
45847 _la = _input.LA(1);
45848 if ( !(_la==FROM || _la==FOR) ) {
45849 _errHandler.recoverInline(this);
45850 }
45851 else {
45852 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
45853 _errHandler.reportMatch(this);
45854 consume();
45855 }
45856 setState(6311);
45857 match(LOGIN);
45858 setState(6312);
45859 identifier();
45860 }
45861 }
45862
45863 setState(6324);
45864 _errHandler.sync(this);
45865 _la = _input.LA(1);
45866 if (_la==WITH) {
45867 {
45868 setState(6315);
45869 match(WITH);
45870 setState(6316);
45871 limitedOptionsList();
45872 setState(6321);
45873 _errHandler.sync(this);
45874 _la = _input.LA(1);
45875 while (_la==COMMA_) {
45876 {
45877 {
45878 setState(6317);
45879 match(COMMA_);
45880 setState(6318);
45881 limitedOptionsList();
45882 }
45883 }
45884 setState(6323);
45885 _errHandler.sync(this);
45886 _la = _input.LA(1);
45887 }
45888 }
45889 }
45890
45891 }
45892 }
45893 catch (RecognitionException re) {
45894 _localctx.exception = re;
45895 _errHandler.reportError(this, re);
45896 _errHandler.recover(this, re);
45897 }
45898 finally {
45899 exitRule();
45900 }
45901 return _localctx;
45902 }
45903
45904 public static class CreateUserWindowsPrincipalClauseContext extends ParserRuleContext {
45905 public WindowsPrincipalContext windowsPrincipal() {
45906 return getRuleContext(WindowsPrincipalContext.class,0);
45907 }
45908 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
45909 public List<OptionsListContext> optionsList() {
45910 return getRuleContexts(OptionsListContext.class);
45911 }
45912 public OptionsListContext optionsList(int i) {
45913 return getRuleContext(OptionsListContext.class,i);
45914 }
45915 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
45916 public TerminalNode COMMA_(int i) {
45917 return getToken(SQLServerStatementParser.COMMA_, i);
45918 }
45919 public UserNameContext userName() {
45920 return getRuleContext(UserNameContext.class,0);
45921 }
45922 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
45923 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
45924 public StringLiteralsContext stringLiterals() {
45925 return getRuleContext(StringLiteralsContext.class,0);
45926 }
45927 public AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() {
45928 return getRuleContext(AzureActiveDirectoryPrincipalContext.class,0);
45929 }
45930 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
45931 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
45932 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
45933 public CreateUserWindowsPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
45934 super(parent, invokingState);
45935 }
45936 @Override public int getRuleIndex() { return RULE_createUserWindowsPrincipalClause; }
45937 @Override
45938 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
45939 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWindowsPrincipalClause(this);
45940 else return visitor.visitChildren(this);
45941 }
45942 }
45943
45944 public final CreateUserWindowsPrincipalClauseContext createUserWindowsPrincipalClause() throws RecognitionException {
45945 CreateUserWindowsPrincipalClauseContext _localctx = new CreateUserWindowsPrincipalClauseContext(_ctx, getState());
45946 enterRule(_localctx, 872, RULE_createUserWindowsPrincipalClause);
45947 int _la;
45948 try {
45949 setState(6359);
45950 _errHandler.sync(this);
45951 switch ( getInterpreter().adaptivePredict(_input,721,_ctx) ) {
45952 case 1:
45953 enterOuterAlt(_localctx, 1);
45954 {
45955 setState(6326);
45956 windowsPrincipal();
45957 setState(6336);
45958 _errHandler.sync(this);
45959 _la = _input.LA(1);
45960 if (_la==WITH) {
45961 {
45962 setState(6327);
45963 match(WITH);
45964 setState(6328);
45965 optionsList();
45966 setState(6333);
45967 _errHandler.sync(this);
45968 _la = _input.LA(1);
45969 while (_la==COMMA_) {
45970 {
45971 {
45972 setState(6329);
45973 match(COMMA_);
45974 setState(6330);
45975 optionsList();
45976 }
45977 }
45978 setState(6335);
45979 _errHandler.sync(this);
45980 _la = _input.LA(1);
45981 }
45982 }
45983 }
45984
45985 }
45986 break;
45987 case 2:
45988 enterOuterAlt(_localctx, 2);
45989 {
45990 setState(6338);
45991 userName();
45992 setState(6339);
45993 match(WITH);
45994 setState(6340);
45995 match(PASSWORD);
45996 setState(6341);
45997 match(EQ_);
45998 setState(6342);
45999 stringLiterals();
46000 setState(6352);
46001 _errHandler.sync(this);
46002 _la = _input.LA(1);
46003 if (_la==COMMA_) {
46004 {
46005 setState(6343);
46006 match(COMMA_);
46007 setState(6344);
46008 optionsList();
46009 setState(6349);
46010 _errHandler.sync(this);
46011 _la = _input.LA(1);
46012 while (_la==COMMA_) {
46013 {
46014 {
46015 setState(6345);
46016 match(COMMA_);
46017 setState(6346);
46018 optionsList();
46019 }
46020 }
46021 setState(6351);
46022 _errHandler.sync(this);
46023 _la = _input.LA(1);
46024 }
46025 }
46026 }
46027
46028 }
46029 break;
46030 case 3:
46031 enterOuterAlt(_localctx, 3);
46032 {
46033 setState(6354);
46034 azureActiveDirectoryPrincipal();
46035 setState(6355);
46036 match(FROM);
46037 setState(6356);
46038 match(EXTERNAL);
46039 setState(6357);
46040 match(PROVIDER);
46041 }
46042 break;
46043 }
46044 }
46045 catch (RecognitionException re) {
46046 _localctx.exception = re;
46047 _errHandler.reportError(this, re);
46048 _errHandler.recover(this, re);
46049 }
46050 finally {
46051 exitRule();
46052 }
46053 return _localctx;
46054 }
46055
46056 public static class CreateUserLoginWindowsPrincipalClauseContext extends ParserRuleContext {
46057 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
46058 public List<LimitedOptionsListContext> limitedOptionsList() {
46059 return getRuleContexts(LimitedOptionsListContext.class);
46060 }
46061 public LimitedOptionsListContext limitedOptionsList(int i) {
46062 return getRuleContext(LimitedOptionsListContext.class,i);
46063 }
46064 public List<WindowsPrincipalContext> windowsPrincipal() {
46065 return getRuleContexts(WindowsPrincipalContext.class);
46066 }
46067 public WindowsPrincipalContext windowsPrincipal(int i) {
46068 return getRuleContext(WindowsPrincipalContext.class,i);
46069 }
46070 public UserNameContext userName() {
46071 return getRuleContext(UserNameContext.class,0);
46072 }
46073 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
46074 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
46075 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
46076 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
46077 public TerminalNode COMMA_(int i) {
46078 return getToken(SQLServerStatementParser.COMMA_, i);
46079 }
46080 public CreateUserLoginWindowsPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
46081 super(parent, invokingState);
46082 }
46083 @Override public int getRuleIndex() { return RULE_createUserLoginWindowsPrincipalClause; }
46084 @Override
46085 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46086 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserLoginWindowsPrincipalClause(this);
46087 else return visitor.visitChildren(this);
46088 }
46089 }
46090
46091 public final CreateUserLoginWindowsPrincipalClauseContext createUserLoginWindowsPrincipalClause() throws RecognitionException {
46092 CreateUserLoginWindowsPrincipalClauseContext _localctx = new CreateUserLoginWindowsPrincipalClauseContext(_ctx, getState());
46093 enterRule(_localctx, 874, RULE_createUserLoginWindowsPrincipalClause);
46094 int _la;
46095 try {
46096 enterOuterAlt(_localctx, 1);
46097 {
46098 setState(6372);
46099 _errHandler.sync(this);
46100 switch ( getInterpreter().adaptivePredict(_input,723,_ctx) ) {
46101 case 1:
46102 {
46103 {
46104 setState(6361);
46105 windowsPrincipal();
46106 setState(6365);
46107 _errHandler.sync(this);
46108 _la = _input.LA(1);
46109 if (_la==FROM || _la==FOR) {
46110 {
46111 setState(6362);
46112 _la = _input.LA(1);
46113 if ( !(_la==FROM || _la==FOR) ) {
46114 _errHandler.recoverInline(this);
46115 }
46116 else {
46117 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46118 _errHandler.reportMatch(this);
46119 consume();
46120 }
46121 setState(6363);
46122 match(LOGIN);
46123 setState(6364);
46124 windowsPrincipal();
46125 }
46126 }
46127
46128 }
46129 }
46130 break;
46131 case 2:
46132 {
46133 {
46134 setState(6367);
46135 userName();
46136 setState(6368);
46137 _la = _input.LA(1);
46138 if ( !(_la==FROM || _la==FOR) ) {
46139 _errHandler.recoverInline(this);
46140 }
46141 else {
46142 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46143 _errHandler.reportMatch(this);
46144 consume();
46145 }
46146 setState(6369);
46147 match(LOGIN);
46148 setState(6370);
46149 windowsPrincipal();
46150 }
46151 }
46152 break;
46153 }
46154 setState(6383);
46155 _errHandler.sync(this);
46156 _la = _input.LA(1);
46157 if (_la==WITH) {
46158 {
46159 setState(6374);
46160 match(WITH);
46161 setState(6375);
46162 limitedOptionsList();
46163 setState(6380);
46164 _errHandler.sync(this);
46165 _la = _input.LA(1);
46166 while (_la==COMMA_) {
46167 {
46168 {
46169 setState(6376);
46170 match(COMMA_);
46171 setState(6377);
46172 limitedOptionsList();
46173 }
46174 }
46175 setState(6382);
46176 _errHandler.sync(this);
46177 _la = _input.LA(1);
46178 }
46179 }
46180 }
46181
46182 }
46183 }
46184 catch (RecognitionException re) {
46185 _localctx.exception = re;
46186 _errHandler.reportError(this, re);
46187 _errHandler.recover(this, re);
46188 }
46189 finally {
46190 exitRule();
46191 }
46192 return _localctx;
46193 }
46194
46195 public static class CreateUserWithoutLoginClauseContext extends ParserRuleContext {
46196 public UserNameContext userName() {
46197 return getRuleContext(UserNameContext.class,0);
46198 }
46199 public TerminalNode WITHOUT() { return getToken(SQLServerStatementParser.WITHOUT, 0); }
46200 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
46201 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
46202 public IdentifierContext identifier() {
46203 return getRuleContext(IdentifierContext.class,0);
46204 }
46205 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
46206 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
46207 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
46208 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
46209 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
46210 public List<LimitedOptionsListContext> limitedOptionsList() {
46211 return getRuleContexts(LimitedOptionsListContext.class);
46212 }
46213 public LimitedOptionsListContext limitedOptionsList(int i) {
46214 return getRuleContext(LimitedOptionsListContext.class,i);
46215 }
46216 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
46217 public TerminalNode COMMA_(int i) {
46218 return getToken(SQLServerStatementParser.COMMA_, i);
46219 }
46220 public CreateUserWithoutLoginClauseContext(ParserRuleContext parent, int invokingState) {
46221 super(parent, invokingState);
46222 }
46223 @Override public int getRuleIndex() { return RULE_createUserWithoutLoginClause; }
46224 @Override
46225 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46226 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithoutLoginClause(this);
46227 else return visitor.visitChildren(this);
46228 }
46229 }
46230
46231 public final CreateUserWithoutLoginClauseContext createUserWithoutLoginClause() throws RecognitionException {
46232 CreateUserWithoutLoginClauseContext _localctx = new CreateUserWithoutLoginClauseContext(_ctx, getState());
46233 enterRule(_localctx, 876, RULE_createUserWithoutLoginClause);
46234 int _la;
46235 try {
46236 enterOuterAlt(_localctx, 1);
46237 {
46238 setState(6385);
46239 userName();
46240 setState(6406);
46241 _errHandler.sync(this);
46242 switch ( getInterpreter().adaptivePredict(_input,728,_ctx) ) {
46243 case 1:
46244 {
46245 setState(6386);
46246 match(WITHOUT);
46247 setState(6387);
46248 match(LOGIN);
46249 setState(6397);
46250 _errHandler.sync(this);
46251 _la = _input.LA(1);
46252 if (_la==WITH) {
46253 {
46254 setState(6388);
46255 match(WITH);
46256 setState(6389);
46257 limitedOptionsList();
46258 setState(6394);
46259 _errHandler.sync(this);
46260 _la = _input.LA(1);
46261 while (_la==COMMA_) {
46262 {
46263 {
46264 setState(6390);
46265 match(COMMA_);
46266 setState(6391);
46267 limitedOptionsList();
46268 }
46269 }
46270 setState(6396);
46271 _errHandler.sync(this);
46272 _la = _input.LA(1);
46273 }
46274 }
46275 }
46276
46277 }
46278 break;
46279 case 2:
46280 {
46281 setState(6399);
46282 _la = _input.LA(1);
46283 if ( !(_la==FROM || _la==FOR) ) {
46284 _errHandler.recoverInline(this);
46285 }
46286 else {
46287 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46288 _errHandler.reportMatch(this);
46289 consume();
46290 }
46291 setState(6400);
46292 match(CERTIFICATE);
46293 setState(6401);
46294 identifier();
46295 }
46296 break;
46297 case 3:
46298 {
46299 setState(6402);
46300 _la = _input.LA(1);
46301 if ( !(_la==FROM || _la==FOR) ) {
46302 _errHandler.recoverInline(this);
46303 }
46304 else {
46305 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46306 _errHandler.reportMatch(this);
46307 consume();
46308 }
46309 setState(6403);
46310 match(ASYMMETRIC);
46311 setState(6404);
46312 match(KEY);
46313 setState(6405);
46314 identifier();
46315 }
46316 break;
46317 }
46318 }
46319 }
46320 catch (RecognitionException re) {
46321 _localctx.exception = re;
46322 _errHandler.reportError(this, re);
46323 _errHandler.recover(this, re);
46324 }
46325 finally {
46326 exitRule();
46327 }
46328 return _localctx;
46329 }
46330
46331 public static class OptionsListContext extends ParserRuleContext {
46332 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
46333 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
46334 public SchemaNameContext schemaName() {
46335 return getRuleContext(SchemaNameContext.class,0);
46336 }
46337 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
46338 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
46339 public IdentifierContext identifier() {
46340 return getRuleContext(IdentifierContext.class,0);
46341 }
46342 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
46343 public SidContext sid() {
46344 return getRuleContext(SidContext.class,0);
46345 }
46346 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
46347 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
46348 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
46349 public OptionsListContext(ParserRuleContext parent, int invokingState) {
46350 super(parent, invokingState);
46351 }
46352 @Override public int getRuleIndex() { return RULE_optionsList; }
46353 @Override
46354 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46355 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitOptionsList(this);
46356 else return visitor.visitChildren(this);
46357 }
46358 }
46359
46360 public final OptionsListContext optionsList() throws RecognitionException {
46361 OptionsListContext _localctx = new OptionsListContext(_ctx, getState());
46362 enterRule(_localctx, 878, RULE_optionsList);
46363 int _la;
46364 try {
46365 setState(6425);
46366 _errHandler.sync(this);
46367 switch (_input.LA(1)) {
46368 case DEFAULT_SCHEMA:
46369 enterOuterAlt(_localctx, 1);
46370 {
46371 setState(6408);
46372 match(DEFAULT_SCHEMA);
46373 setState(6409);
46374 match(EQ_);
46375 setState(6410);
46376 schemaName();
46377 }
46378 break;
46379 case DEFAULT_LANGUAGE:
46380 enterOuterAlt(_localctx, 2);
46381 {
46382 setState(6411);
46383 match(DEFAULT_LANGUAGE);
46384 setState(6412);
46385 match(EQ_);
46386 setState(6415);
46387 _errHandler.sync(this);
46388 switch (_input.LA(1)) {
46389 case NONE:
46390 {
46391 setState(6413);
46392 match(NONE);
46393 }
46394 break;
46395 case TRUNCATE:
46396 case SCHEMA:
46397 case FUNCTION:
46398 case TRIGGER:
46399 case CAST:
46400 case GROUP:
46401 case LIMIT:
46402 case OFFSET:
46403 case SAVEPOINT:
46404 case BOOLEAN:
46405 case ARRAY:
46406 case DATE:
46407 case LOCALTIME:
46408 case LOCALTIMESTAMP:
46409 case QUARTER:
46410 case WEEK:
46411 case DAY:
46412 case MICROSECOND:
46413 case MAX:
46414 case MIN:
46415 case SUM:
46416 case COUNT:
46417 case AVG:
46418 case ENABLE:
46419 case DISABLE:
46420 case INSTANCE:
46421 case DO:
46422 case DEFINER:
46423 case SQL:
46424 case CASCADED:
46425 case LOCAL:
46426 case NEXT:
46427 case NAME:
46428 case INTEGER:
46429 case TYPE:
46430 case READ_ONLY:
46431 case DATABASE:
46432 case DATEPART:
46433 case PASSWORD:
46434 case BINARY:
46435 case HIDDEN_:
46436 case MOD:
46437 case PARTITION:
46438 case PARTITIONS:
46439 case TOP:
46440 case ROW:
46441 case ROWS:
46442 case XOR:
46443 case ALWAYS:
46444 case ROLE:
46445 case START:
46446 case ALGORITHM:
46447 case AUTO:
46448 case BLOCKERS:
46449 case CLUSTERED:
46450 case NONCLUSTERED:
46451 case COLUMNSTORE:
46452 case CONTENT:
46453 case YEARS:
46454 case MONTHS:
46455 case WEEKS:
46456 case DAYS:
46457 case MINUTES:
46458 case DENY:
46459 case DETERMINISTIC:
46460 case DISTRIBUTION:
46461 case DOCUMENT:
46462 case DURABILITY:
46463 case ENCRYPTED:
46464 case FILESTREAM:
46465 case FILETABLE:
46466 case FILLFACTOR:
46467 case FOLLOWING:
46468 case HASH:
46469 case HEAP:
46470 case INBOUND:
46471 case OUTBOUND:
46472 case UNBOUNDED:
46473 case INFINITE:
46474 case LOGIN:
46475 case MASKED:
46476 case MAXDOP:
46477 case MOVE:
46478 case NOCHECK:
46479 case OBJECT:
46480 case OFF:
46481 case ONLINE:
46482 case OVER:
46483 case PAGE:
46484 case PAUSED:
46485 case PERIOD:
46486 case PERSISTED:
46487 case PRECEDING:
46488 case RANDOMIZED:
46489 case RANGE:
46490 case REBUILD:
46491 case REPLICATE:
46492 case REPLICATION:
46493 case RESUMABLE:
46494 case ROWGUIDCOL:
46495 case SAVE:
46496 case SELF:
46497 case SPARSE:
46498 case SWITCH:
46499 case TRAN:
46500 case TRANCOUNT:
46501 case CONTROL:
46502 case CONCAT:
46503 case TAKE:
46504 case OWNERSHIP:
46505 case DEFINITION:
46506 case APPLICATION:
46507 case ASSEMBLY:
46508 case SYMMETRIC:
46509 case ASYMMETRIC:
46510 case SERVER:
46511 case RECEIVE:
46512 case CHANGE:
46513 case TRACE:
46514 case TRACKING:
46515 case RESOURCES:
46516 case SETTINGS:
46517 case STATE:
46518 case AVAILABILITY:
46519 case CREDENTIAL:
46520 case ENDPOINT:
46521 case EVENT:
46522 case NOTIFICATION:
46523 case LINKED:
46524 case AUDIT:
46525 case DDL:
46526 case XML:
46527 case IMPERSONATE:
46528 case SECURABLES:
46529 case AUTHENTICATE:
46530 case EXTERNAL:
46531 case ACCESS:
46532 case ADMINISTER:
46533 case BULK:
46534 case OPERATIONS:
46535 case UNSAFE:
46536 case SHUTDOWN:
46537 case SCOPED:
46538 case CONFIGURATION:
46539 case DATASPACE:
46540 case SERVICE:
46541 case CERTIFICATE:
46542 case CONTRACT:
46543 case ENCRYPTION:
46544 case MASTER:
46545 case DATA:
46546 case SOURCE:
46547 case FILE:
46548 case FORMAT:
46549 case LIBRARY:
46550 case FULLTEXT:
46551 case MASK:
46552 case UNMASK:
46553 case MESSAGE:
46554 case REMOTE:
46555 case BINDING:
46556 case ROUTE:
46557 case SECURITY:
46558 case POLICY:
46559 case AGGREGATE:
46560 case QUEUE:
46561 case RULE:
46562 case SYNONYM:
46563 case COLLECTION:
46564 case SCRIPT:
46565 case KILL:
46566 case BACKUP:
46567 case LOG:
46568 case SHOWPLAN:
46569 case SUBSCRIBE:
46570 case QUERY:
46571 case NOTIFICATIONS:
46572 case CHECKPOINT:
46573 case SEQUENCE:
46574 case ABORT_AFTER_WAIT:
46575 case ALLOW_PAGE_LOCKS:
46576 case ALLOW_ROW_LOCKS:
46577 case ALL_SPARSE_COLUMNS:
46578 case BUCKET_COUNT:
46579 case COLUMNSTORE_ARCHIVE:
46580 case COLUMN_ENCRYPTION_KEY:
46581 case COLUMN_SET:
46582 case COMPRESSION_DELAY:
46583 case DATABASE_DEAULT:
46584 case DATA_COMPRESSION:
46585 case DATA_CONSISTENCY_CHECK:
46586 case ENCRYPTION_TYPE:
46587 case SYSTEM_TIME:
46588 case SYSTEM_VERSIONING:
46589 case TEXTIMAGE_ON:
46590 case WAIT_AT_LOW_PRIORITY:
46591 case STATISTICS_INCREMENTAL:
46592 case STATISTICS_NORECOMPUTE:
46593 case ROUND_ROBIN:
46594 case SCHEMA_AND_DATA:
46595 case SCHEMA_ONLY:
46596 case SORT_IN_TEMPDB:
46597 case IGNORE_DUP_KEY:
46598 case IMPLICIT_TRANSACTIONS:
46599 case MAX_DURATION:
46600 case MEMORY_OPTIMIZED:
46601 case MIGRATION_STATE:
46602 case PAD_INDEX:
46603 case REMOTE_DATA_ARCHIVE:
46604 case FILESTREAM_ON:
46605 case FILETABLE_COLLATE_FILENAME:
46606 case FILETABLE_DIRECTORY:
46607 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
46608 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
46609 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
46610 case FILTER_PREDICATE:
46611 case HISTORY_RETENTION_PERIOD:
46612 case HISTORY_TABLE:
46613 case LOCK_ESCALATION:
46614 case DROP_EXISTING:
46615 case ROW_NUMBER:
46616 case FIRST:
46617 case DATETIME2:
46618 case OUTPUT:
46619 case INSERTED:
46620 case DELETED:
46621 case FILENAME:
46622 case MAXSIZE:
46623 case FILEGROWTH:
46624 case UNLIMITED:
46625 case KB:
46626 case MB:
46627 case GB:
46628 case TB:
46629 case MEMORY_OPTIMIZED_DATA:
46630 case FILEGROUP:
46631 case NON_TRANSACTED_ACCESS:
46632 case DB_CHAINING:
46633 case TRUSTWORTHY:
46634 case FORWARD_ONLY:
46635 case KEYSET:
46636 case FAST_FORWARD:
46637 case SCROLL_LOCKS:
46638 case OPTIMISTIC:
46639 case TYPE_WARNING:
46640 case SCHEMABINDING:
46641 case CALLER:
46642 case OWNER:
46643 case SNAPSHOT:
46644 case REPEATABLE:
46645 case SERIALIZABLE:
46646 case NATIVE_COMPILATION:
46647 case VIEW_METADATA:
46648 case INSTEAD:
46649 case APPEND:
46650 case INCREMENT:
46651 case CACHE:
46652 case MINVALUE:
46653 case MAXVALUE:
46654 case RESTART:
46655 case LOB_COMPACTION:
46656 case COMPRESS_ALL_ROW_GROUPS:
46657 case REORGANIZE:
46658 case RESUME:
46659 case PAUSE:
46660 case ABORT:
46661 case ACCELERATED_DATABASE_RECOVERY:
46662 case PERSISTENT_VERSION_STORE_FILEGROUP:
46663 case IMMEDIATE:
46664 case NO_WAIT:
46665 case TARGET_RECOVERY_TIME:
46666 case SECONDS:
46667 case HONOR_BROKER_PRIORITY:
46668 case ERROR_BROKER_CONVERSATIONS:
46669 case NEW_BROKER:
46670 case DISABLE_BROKER:
46671 case ENABLE_BROKER:
46672 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
46673 case READ_COMMITTED_SNAPSHOT:
46674 case ALLOW_SNAPSHOT_ISOLATION:
46675 case RECURSIVE_TRIGGERS:
46676 case QUOTED_IDENTIFIER:
46677 case NUMERIC_ROUNDABORT:
46678 case CONCAT_NULL_YIELDS_NULL:
46679 case COMPATIBILITY_LEVEL:
46680 case ARITHABORT:
46681 case ANSI_WARNINGS:
46682 case ANSI_PADDING:
46683 case ANSI_NULLS:
46684 case ANSI_NULL_DEFAULT:
46685 case PAGE_VERIFY:
46686 case CHECKSUM:
46687 case TORN_PAGE_DETECTION:
46688 case BULK_LOGGED:
46689 case RECOVERY:
46690 case TOTAL_EXECUTION_CPU_TIME_MS:
46691 case TOTAL_COMPILE_CPU_TIME_MS:
46692 case STALE_CAPTURE_POLICY_THRESHOLD:
46693 case EXECUTION_COUNT:
46694 case QUERY_CAPTURE_POLICY:
46695 case WAIT_STATS_CAPTURE_MODE:
46696 case MAX_PLANS_PER_QUERY:
46697 case QUERY_CAPTURE_MODE:
46698 case SIZE_BASED_CLEANUP_MODE:
46699 case INTERVAL_LENGTH_MINUTES:
46700 case MAX_STORAGE_SIZE_MB:
46701 case DATA_FLUSH_INTERVAL_SECONDS:
46702 case CLEANUP_POLICY:
46703 case CUSTOM:
46704 case STALE_QUERY_THRESHOLD_DAYS:
46705 case OPERATION_MODE:
46706 case QUERY_STORE:
46707 case CURSOR_DEFAULT:
46708 case GLOBAL:
46709 case CURSOR_CLOSE_ON_COMMIT:
46710 case HOURS:
46711 case CHANGE_RETENTION:
46712 case AUTO_CLEANUP:
46713 case CHANGE_TRACKING:
46714 case AUTOMATIC_TUNING:
46715 case FORCE_LAST_GOOD_PLAN:
46716 case AUTO_UPDATE_STATISTICS_ASYNC:
46717 case AUTO_UPDATE_STATISTICS:
46718 case AUTO_SHRINK:
46719 case AUTO_CREATE_STATISTICS:
46720 case INCREMENTAL:
46721 case AUTO_CLOSE:
46722 case DATA_RETENTION:
46723 case TEMPORAL_HISTORY_RETENTION:
46724 case EDITION:
46725 case MIXED_PAGE_ALLOCATION:
46726 case DISABLED:
46727 case ALLOWED:
46728 case HADR:
46729 case MULTI_USER:
46730 case RESTRICTED_USER:
46731 case SINGLE_USER:
46732 case OFFLINE:
46733 case EMERGENCY:
46734 case SUSPEND:
46735 case DATE_CORRELATION_OPTIMIZATION:
46736 case ELASTIC_POOL:
46737 case SERVICE_OBJECTIVE:
46738 case DATABASE_NAME:
46739 case ALLOW_CONNECTIONS:
46740 case GEO:
46741 case NAMED:
46742 case DATEFIRST:
46743 case BACKUP_STORAGE_REDUNDANCY:
46744 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
46745 case SECONDARY:
46746 case FAILOVER:
46747 case DEFAULT_FULLTEXT_LANGUAGE:
46748 case DEFAULT_LANGUAGE:
46749 case INLINE:
46750 case NESTED_TRIGGERS:
46751 case TRANSFORM_NOISE_WORDS:
46752 case TWO_DIGIT_YEAR_CUTOFF:
46753 case PERSISTENT_LOG_BUFFER:
46754 case DIRECTORY_NAME:
46755 case DATEFORMAT:
46756 case DELAYED_DURABILITY:
46757 case AUTHORIZATION:
46758 case TRANSFER:
46759 case SEARCH:
46760 case MEMBER:
46761 case IDENTIFIER_:
46762 case DELIMITED_IDENTIFIER_:
46763 {
46764 setState(6414);
46765 identifier();
46766 }
46767 break;
46768 default:
46769 throw new NoViableAltException(this);
46770 }
46771 }
46772 break;
46773 case SID:
46774 enterOuterAlt(_localctx, 3);
46775 {
46776 setState(6417);
46777 match(SID);
46778 setState(6418);
46779 match(EQ_);
46780 setState(6419);
46781 sid();
46782 }
46783 break;
46784 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
46785 enterOuterAlt(_localctx, 4);
46786 {
46787 setState(6420);
46788 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
46789 setState(6421);
46790 match(EQ_);
46791 setState(6423);
46792 _errHandler.sync(this);
46793 _la = _input.LA(1);
46794 if (_la==ON || _la==OFF) {
46795 {
46796 setState(6422);
46797 _la = _input.LA(1);
46798 if ( !(_la==ON || _la==OFF) ) {
46799 _errHandler.recoverInline(this);
46800 }
46801 else {
46802 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
46803 _errHandler.reportMatch(this);
46804 consume();
46805 }
46806 }
46807 }
46808
46809 }
46810 break;
46811 default:
46812 throw new NoViableAltException(this);
46813 }
46814 }
46815 catch (RecognitionException re) {
46816 _localctx.exception = re;
46817 _errHandler.reportError(this, re);
46818 _errHandler.recover(this, re);
46819 }
46820 finally {
46821 exitRule();
46822 }
46823 return _localctx;
46824 }
46825
46826 public static class LimitedOptionsListContext extends ParserRuleContext {
46827 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
46828 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
46829 public SchemaNameContext schemaName() {
46830 return getRuleContext(SchemaNameContext.class,0);
46831 }
46832 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
46833 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
46834 public IdentifierContext identifier() {
46835 return getRuleContext(IdentifierContext.class,0);
46836 }
46837 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
46838 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
46839 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
46840 public LimitedOptionsListContext(ParserRuleContext parent, int invokingState) {
46841 super(parent, invokingState);
46842 }
46843 @Override public int getRuleIndex() { return RULE_limitedOptionsList; }
46844 @Override
46845 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
46846 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitLimitedOptionsList(this);
46847 else return visitor.visitChildren(this);
46848 }
46849 }
46850
46851 public final LimitedOptionsListContext limitedOptionsList() throws RecognitionException {
46852 LimitedOptionsListContext _localctx = new LimitedOptionsListContext(_ctx, getState());
46853 enterRule(_localctx, 880, RULE_limitedOptionsList);
46854 int _la;
46855 try {
46856 setState(6441);
46857 _errHandler.sync(this);
46858 switch (_input.LA(1)) {
46859 case DEFAULT_SCHEMA:
46860 enterOuterAlt(_localctx, 1);
46861 {
46862 setState(6427);
46863 match(DEFAULT_SCHEMA);
46864 setState(6428);
46865 match(EQ_);
46866 setState(6429);
46867 schemaName();
46868 }
46869 break;
46870 case DEFAULT_LANGUAGE:
46871 enterOuterAlt(_localctx, 2);
46872 {
46873 setState(6430);
46874 match(DEFAULT_LANGUAGE);
46875 setState(6431);
46876 match(EQ_);
46877 setState(6434);
46878 _errHandler.sync(this);
46879 switch (_input.LA(1)) {
46880 case NONE:
46881 {
46882 setState(6432);
46883 match(NONE);
46884 }
46885 break;
46886 case TRUNCATE:
46887 case SCHEMA:
46888 case FUNCTION:
46889 case TRIGGER:
46890 case CAST:
46891 case GROUP:
46892 case LIMIT:
46893 case OFFSET:
46894 case SAVEPOINT:
46895 case BOOLEAN:
46896 case ARRAY:
46897 case DATE:
46898 case LOCALTIME:
46899 case LOCALTIMESTAMP:
46900 case QUARTER:
46901 case WEEK:
46902 case DAY:
46903 case MICROSECOND:
46904 case MAX:
46905 case MIN:
46906 case SUM:
46907 case COUNT:
46908 case AVG:
46909 case ENABLE:
46910 case DISABLE:
46911 case INSTANCE:
46912 case DO:
46913 case DEFINER:
46914 case SQL:
46915 case CASCADED:
46916 case LOCAL:
46917 case NEXT:
46918 case NAME:
46919 case INTEGER:
46920 case TYPE:
46921 case READ_ONLY:
46922 case DATABASE:
46923 case DATEPART:
46924 case PASSWORD:
46925 case BINARY:
46926 case HIDDEN_:
46927 case MOD:
46928 case PARTITION:
46929 case PARTITIONS:
46930 case TOP:
46931 case ROW:
46932 case ROWS:
46933 case XOR:
46934 case ALWAYS:
46935 case ROLE:
46936 case START:
46937 case ALGORITHM:
46938 case AUTO:
46939 case BLOCKERS:
46940 case CLUSTERED:
46941 case NONCLUSTERED:
46942 case COLUMNSTORE:
46943 case CONTENT:
46944 case YEARS:
46945 case MONTHS:
46946 case WEEKS:
46947 case DAYS:
46948 case MINUTES:
46949 case DENY:
46950 case DETERMINISTIC:
46951 case DISTRIBUTION:
46952 case DOCUMENT:
46953 case DURABILITY:
46954 case ENCRYPTED:
46955 case FILESTREAM:
46956 case FILETABLE:
46957 case FILLFACTOR:
46958 case FOLLOWING:
46959 case HASH:
46960 case HEAP:
46961 case INBOUND:
46962 case OUTBOUND:
46963 case UNBOUNDED:
46964 case INFINITE:
46965 case LOGIN:
46966 case MASKED:
46967 case MAXDOP:
46968 case MOVE:
46969 case NOCHECK:
46970 case OBJECT:
46971 case OFF:
46972 case ONLINE:
46973 case OVER:
46974 case PAGE:
46975 case PAUSED:
46976 case PERIOD:
46977 case PERSISTED:
46978 case PRECEDING:
46979 case RANDOMIZED:
46980 case RANGE:
46981 case REBUILD:
46982 case REPLICATE:
46983 case REPLICATION:
46984 case RESUMABLE:
46985 case ROWGUIDCOL:
46986 case SAVE:
46987 case SELF:
46988 case SPARSE:
46989 case SWITCH:
46990 case TRAN:
46991 case TRANCOUNT:
46992 case CONTROL:
46993 case CONCAT:
46994 case TAKE:
46995 case OWNERSHIP:
46996 case DEFINITION:
46997 case APPLICATION:
46998 case ASSEMBLY:
46999 case SYMMETRIC:
47000 case ASYMMETRIC:
47001 case SERVER:
47002 case RECEIVE:
47003 case CHANGE:
47004 case TRACE:
47005 case TRACKING:
47006 case RESOURCES:
47007 case SETTINGS:
47008 case STATE:
47009 case AVAILABILITY:
47010 case CREDENTIAL:
47011 case ENDPOINT:
47012 case EVENT:
47013 case NOTIFICATION:
47014 case LINKED:
47015 case AUDIT:
47016 case DDL:
47017 case XML:
47018 case IMPERSONATE:
47019 case SECURABLES:
47020 case AUTHENTICATE:
47021 case EXTERNAL:
47022 case ACCESS:
47023 case ADMINISTER:
47024 case BULK:
47025 case OPERATIONS:
47026 case UNSAFE:
47027 case SHUTDOWN:
47028 case SCOPED:
47029 case CONFIGURATION:
47030 case DATASPACE:
47031 case SERVICE:
47032 case CERTIFICATE:
47033 case CONTRACT:
47034 case ENCRYPTION:
47035 case MASTER:
47036 case DATA:
47037 case SOURCE:
47038 case FILE:
47039 case FORMAT:
47040 case LIBRARY:
47041 case FULLTEXT:
47042 case MASK:
47043 case UNMASK:
47044 case MESSAGE:
47045 case REMOTE:
47046 case BINDING:
47047 case ROUTE:
47048 case SECURITY:
47049 case POLICY:
47050 case AGGREGATE:
47051 case QUEUE:
47052 case RULE:
47053 case SYNONYM:
47054 case COLLECTION:
47055 case SCRIPT:
47056 case KILL:
47057 case BACKUP:
47058 case LOG:
47059 case SHOWPLAN:
47060 case SUBSCRIBE:
47061 case QUERY:
47062 case NOTIFICATIONS:
47063 case CHECKPOINT:
47064 case SEQUENCE:
47065 case ABORT_AFTER_WAIT:
47066 case ALLOW_PAGE_LOCKS:
47067 case ALLOW_ROW_LOCKS:
47068 case ALL_SPARSE_COLUMNS:
47069 case BUCKET_COUNT:
47070 case COLUMNSTORE_ARCHIVE:
47071 case COLUMN_ENCRYPTION_KEY:
47072 case COLUMN_SET:
47073 case COMPRESSION_DELAY:
47074 case DATABASE_DEAULT:
47075 case DATA_COMPRESSION:
47076 case DATA_CONSISTENCY_CHECK:
47077 case ENCRYPTION_TYPE:
47078 case SYSTEM_TIME:
47079 case SYSTEM_VERSIONING:
47080 case TEXTIMAGE_ON:
47081 case WAIT_AT_LOW_PRIORITY:
47082 case STATISTICS_INCREMENTAL:
47083 case STATISTICS_NORECOMPUTE:
47084 case ROUND_ROBIN:
47085 case SCHEMA_AND_DATA:
47086 case SCHEMA_ONLY:
47087 case SORT_IN_TEMPDB:
47088 case IGNORE_DUP_KEY:
47089 case IMPLICIT_TRANSACTIONS:
47090 case MAX_DURATION:
47091 case MEMORY_OPTIMIZED:
47092 case MIGRATION_STATE:
47093 case PAD_INDEX:
47094 case REMOTE_DATA_ARCHIVE:
47095 case FILESTREAM_ON:
47096 case FILETABLE_COLLATE_FILENAME:
47097 case FILETABLE_DIRECTORY:
47098 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
47099 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
47100 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
47101 case FILTER_PREDICATE:
47102 case HISTORY_RETENTION_PERIOD:
47103 case HISTORY_TABLE:
47104 case LOCK_ESCALATION:
47105 case DROP_EXISTING:
47106 case ROW_NUMBER:
47107 case FIRST:
47108 case DATETIME2:
47109 case OUTPUT:
47110 case INSERTED:
47111 case DELETED:
47112 case FILENAME:
47113 case MAXSIZE:
47114 case FILEGROWTH:
47115 case UNLIMITED:
47116 case KB:
47117 case MB:
47118 case GB:
47119 case TB:
47120 case MEMORY_OPTIMIZED_DATA:
47121 case FILEGROUP:
47122 case NON_TRANSACTED_ACCESS:
47123 case DB_CHAINING:
47124 case TRUSTWORTHY:
47125 case FORWARD_ONLY:
47126 case KEYSET:
47127 case FAST_FORWARD:
47128 case SCROLL_LOCKS:
47129 case OPTIMISTIC:
47130 case TYPE_WARNING:
47131 case SCHEMABINDING:
47132 case CALLER:
47133 case OWNER:
47134 case SNAPSHOT:
47135 case REPEATABLE:
47136 case SERIALIZABLE:
47137 case NATIVE_COMPILATION:
47138 case VIEW_METADATA:
47139 case INSTEAD:
47140 case APPEND:
47141 case INCREMENT:
47142 case CACHE:
47143 case MINVALUE:
47144 case MAXVALUE:
47145 case RESTART:
47146 case LOB_COMPACTION:
47147 case COMPRESS_ALL_ROW_GROUPS:
47148 case REORGANIZE:
47149 case RESUME:
47150 case PAUSE:
47151 case ABORT:
47152 case ACCELERATED_DATABASE_RECOVERY:
47153 case PERSISTENT_VERSION_STORE_FILEGROUP:
47154 case IMMEDIATE:
47155 case NO_WAIT:
47156 case TARGET_RECOVERY_TIME:
47157 case SECONDS:
47158 case HONOR_BROKER_PRIORITY:
47159 case ERROR_BROKER_CONVERSATIONS:
47160 case NEW_BROKER:
47161 case DISABLE_BROKER:
47162 case ENABLE_BROKER:
47163 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
47164 case READ_COMMITTED_SNAPSHOT:
47165 case ALLOW_SNAPSHOT_ISOLATION:
47166 case RECURSIVE_TRIGGERS:
47167 case QUOTED_IDENTIFIER:
47168 case NUMERIC_ROUNDABORT:
47169 case CONCAT_NULL_YIELDS_NULL:
47170 case COMPATIBILITY_LEVEL:
47171 case ARITHABORT:
47172 case ANSI_WARNINGS:
47173 case ANSI_PADDING:
47174 case ANSI_NULLS:
47175 case ANSI_NULL_DEFAULT:
47176 case PAGE_VERIFY:
47177 case CHECKSUM:
47178 case TORN_PAGE_DETECTION:
47179 case BULK_LOGGED:
47180 case RECOVERY:
47181 case TOTAL_EXECUTION_CPU_TIME_MS:
47182 case TOTAL_COMPILE_CPU_TIME_MS:
47183 case STALE_CAPTURE_POLICY_THRESHOLD:
47184 case EXECUTION_COUNT:
47185 case QUERY_CAPTURE_POLICY:
47186 case WAIT_STATS_CAPTURE_MODE:
47187 case MAX_PLANS_PER_QUERY:
47188 case QUERY_CAPTURE_MODE:
47189 case SIZE_BASED_CLEANUP_MODE:
47190 case INTERVAL_LENGTH_MINUTES:
47191 case MAX_STORAGE_SIZE_MB:
47192 case DATA_FLUSH_INTERVAL_SECONDS:
47193 case CLEANUP_POLICY:
47194 case CUSTOM:
47195 case STALE_QUERY_THRESHOLD_DAYS:
47196 case OPERATION_MODE:
47197 case QUERY_STORE:
47198 case CURSOR_DEFAULT:
47199 case GLOBAL:
47200 case CURSOR_CLOSE_ON_COMMIT:
47201 case HOURS:
47202 case CHANGE_RETENTION:
47203 case AUTO_CLEANUP:
47204 case CHANGE_TRACKING:
47205 case AUTOMATIC_TUNING:
47206 case FORCE_LAST_GOOD_PLAN:
47207 case AUTO_UPDATE_STATISTICS_ASYNC:
47208 case AUTO_UPDATE_STATISTICS:
47209 case AUTO_SHRINK:
47210 case AUTO_CREATE_STATISTICS:
47211 case INCREMENTAL:
47212 case AUTO_CLOSE:
47213 case DATA_RETENTION:
47214 case TEMPORAL_HISTORY_RETENTION:
47215 case EDITION:
47216 case MIXED_PAGE_ALLOCATION:
47217 case DISABLED:
47218 case ALLOWED:
47219 case HADR:
47220 case MULTI_USER:
47221 case RESTRICTED_USER:
47222 case SINGLE_USER:
47223 case OFFLINE:
47224 case EMERGENCY:
47225 case SUSPEND:
47226 case DATE_CORRELATION_OPTIMIZATION:
47227 case ELASTIC_POOL:
47228 case SERVICE_OBJECTIVE:
47229 case DATABASE_NAME:
47230 case ALLOW_CONNECTIONS:
47231 case GEO:
47232 case NAMED:
47233 case DATEFIRST:
47234 case BACKUP_STORAGE_REDUNDANCY:
47235 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
47236 case SECONDARY:
47237 case FAILOVER:
47238 case DEFAULT_FULLTEXT_LANGUAGE:
47239 case DEFAULT_LANGUAGE:
47240 case INLINE:
47241 case NESTED_TRIGGERS:
47242 case TRANSFORM_NOISE_WORDS:
47243 case TWO_DIGIT_YEAR_CUTOFF:
47244 case PERSISTENT_LOG_BUFFER:
47245 case DIRECTORY_NAME:
47246 case DATEFORMAT:
47247 case DELAYED_DURABILITY:
47248 case AUTHORIZATION:
47249 case TRANSFER:
47250 case SEARCH:
47251 case MEMBER:
47252 case IDENTIFIER_:
47253 case DELIMITED_IDENTIFIER_:
47254 {
47255 setState(6433);
47256 identifier();
47257 }
47258 break;
47259 default:
47260 throw new NoViableAltException(this);
47261 }
47262 }
47263 break;
47264 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
47265 enterOuterAlt(_localctx, 3);
47266 {
47267 setState(6436);
47268 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
47269 setState(6437);
47270 match(EQ_);
47271 setState(6439);
47272 _errHandler.sync(this);
47273 _la = _input.LA(1);
47274 if (_la==ON || _la==OFF) {
47275 {
47276 setState(6438);
47277 _la = _input.LA(1);
47278 if ( !(_la==ON || _la==OFF) ) {
47279 _errHandler.recoverInline(this);
47280 }
47281 else {
47282 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47283 _errHandler.reportMatch(this);
47284 consume();
47285 }
47286 }
47287 }
47288
47289 }
47290 break;
47291 default:
47292 throw new NoViableAltException(this);
47293 }
47294 }
47295 catch (RecognitionException re) {
47296 _localctx.exception = re;
47297 _errHandler.reportError(this, re);
47298 _errHandler.recover(this, re);
47299 }
47300 finally {
47301 exitRule();
47302 }
47303 return _localctx;
47304 }
47305
47306 public static class CreateUserFromExternalProviderClauseContext extends ParserRuleContext {
47307 public UserNameContext userName() {
47308 return getRuleContext(UserNameContext.class,0);
47309 }
47310 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
47311 public IdentifierContext identifier() {
47312 return getRuleContext(IdentifierContext.class,0);
47313 }
47314 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
47315 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
47316 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
47317 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
47318 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
47319 public List<LimitedOptionsListContext> limitedOptionsList() {
47320 return getRuleContexts(LimitedOptionsListContext.class);
47321 }
47322 public LimitedOptionsListContext limitedOptionsList(int i) {
47323 return getRuleContext(LimitedOptionsListContext.class,i);
47324 }
47325 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
47326 public TerminalNode COMMA_(int i) {
47327 return getToken(SQLServerStatementParser.COMMA_, i);
47328 }
47329 public CreateUserFromExternalProviderClauseContext(ParserRuleContext parent, int invokingState) {
47330 super(parent, invokingState);
47331 }
47332 @Override public int getRuleIndex() { return RULE_createUserFromExternalProviderClause; }
47333 @Override
47334 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47335 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserFromExternalProviderClause(this);
47336 else return visitor.visitChildren(this);
47337 }
47338 }
47339
47340 public final CreateUserFromExternalProviderClauseContext createUserFromExternalProviderClause() throws RecognitionException {
47341 CreateUserFromExternalProviderClauseContext _localctx = new CreateUserFromExternalProviderClauseContext(_ctx, getState());
47342 enterRule(_localctx, 882, RULE_createUserFromExternalProviderClause);
47343 int _la;
47344 try {
47345 setState(6463);
47346 _errHandler.sync(this);
47347 switch (_input.LA(1)) {
47348 case TRUNCATE:
47349 case SCHEMA:
47350 case FUNCTION:
47351 case TRIGGER:
47352 case CAST:
47353 case GROUP:
47354 case LIMIT:
47355 case OFFSET:
47356 case SAVEPOINT:
47357 case BOOLEAN:
47358 case ARRAY:
47359 case DATE:
47360 case LOCALTIME:
47361 case LOCALTIMESTAMP:
47362 case QUARTER:
47363 case WEEK:
47364 case DAY:
47365 case MICROSECOND:
47366 case MAX:
47367 case MIN:
47368 case SUM:
47369 case COUNT:
47370 case AVG:
47371 case ENABLE:
47372 case DISABLE:
47373 case INSTANCE:
47374 case DO:
47375 case DEFINER:
47376 case SQL:
47377 case CASCADED:
47378 case LOCAL:
47379 case NEXT:
47380 case NAME:
47381 case INTEGER:
47382 case TYPE:
47383 case READ_ONLY:
47384 case DATABASE:
47385 case DATEPART:
47386 case PASSWORD:
47387 case BINARY:
47388 case HIDDEN_:
47389 case MOD:
47390 case PARTITION:
47391 case PARTITIONS:
47392 case TOP:
47393 case ROW:
47394 case ROWS:
47395 case XOR:
47396 case ALWAYS:
47397 case ROLE:
47398 case START:
47399 case ALGORITHM:
47400 case AUTO:
47401 case BLOCKERS:
47402 case CLUSTERED:
47403 case NONCLUSTERED:
47404 case COLUMNSTORE:
47405 case CONTENT:
47406 case YEARS:
47407 case MONTHS:
47408 case WEEKS:
47409 case DAYS:
47410 case MINUTES:
47411 case DENY:
47412 case DETERMINISTIC:
47413 case DISTRIBUTION:
47414 case DOCUMENT:
47415 case DURABILITY:
47416 case ENCRYPTED:
47417 case FILESTREAM:
47418 case FILETABLE:
47419 case FILLFACTOR:
47420 case FOLLOWING:
47421 case HASH:
47422 case HEAP:
47423 case INBOUND:
47424 case OUTBOUND:
47425 case UNBOUNDED:
47426 case INFINITE:
47427 case LOGIN:
47428 case MASKED:
47429 case MAXDOP:
47430 case MOVE:
47431 case NOCHECK:
47432 case OBJECT:
47433 case OFF:
47434 case ONLINE:
47435 case OVER:
47436 case PAGE:
47437 case PAUSED:
47438 case PERIOD:
47439 case PERSISTED:
47440 case PRECEDING:
47441 case RANDOMIZED:
47442 case RANGE:
47443 case REBUILD:
47444 case REPLICATE:
47445 case REPLICATION:
47446 case RESUMABLE:
47447 case ROWGUIDCOL:
47448 case SAVE:
47449 case SELF:
47450 case SPARSE:
47451 case SWITCH:
47452 case TRAN:
47453 case TRANCOUNT:
47454 case CONTROL:
47455 case CONCAT:
47456 case TAKE:
47457 case OWNERSHIP:
47458 case DEFINITION:
47459 case APPLICATION:
47460 case ASSEMBLY:
47461 case SYMMETRIC:
47462 case ASYMMETRIC:
47463 case SERVER:
47464 case RECEIVE:
47465 case CHANGE:
47466 case TRACE:
47467 case TRACKING:
47468 case RESOURCES:
47469 case SETTINGS:
47470 case STATE:
47471 case AVAILABILITY:
47472 case CREDENTIAL:
47473 case ENDPOINT:
47474 case EVENT:
47475 case NOTIFICATION:
47476 case LINKED:
47477 case AUDIT:
47478 case DDL:
47479 case XML:
47480 case IMPERSONATE:
47481 case SECURABLES:
47482 case AUTHENTICATE:
47483 case EXTERNAL:
47484 case ACCESS:
47485 case ADMINISTER:
47486 case BULK:
47487 case OPERATIONS:
47488 case UNSAFE:
47489 case SHUTDOWN:
47490 case SCOPED:
47491 case CONFIGURATION:
47492 case DATASPACE:
47493 case SERVICE:
47494 case CERTIFICATE:
47495 case CONTRACT:
47496 case ENCRYPTION:
47497 case MASTER:
47498 case DATA:
47499 case SOURCE:
47500 case FILE:
47501 case FORMAT:
47502 case LIBRARY:
47503 case FULLTEXT:
47504 case MASK:
47505 case UNMASK:
47506 case MESSAGE:
47507 case REMOTE:
47508 case BINDING:
47509 case ROUTE:
47510 case SECURITY:
47511 case POLICY:
47512 case AGGREGATE:
47513 case QUEUE:
47514 case RULE:
47515 case SYNONYM:
47516 case COLLECTION:
47517 case SCRIPT:
47518 case KILL:
47519 case BACKUP:
47520 case LOG:
47521 case SHOWPLAN:
47522 case SUBSCRIBE:
47523 case QUERY:
47524 case NOTIFICATIONS:
47525 case CHECKPOINT:
47526 case SEQUENCE:
47527 case ABORT_AFTER_WAIT:
47528 case ALLOW_PAGE_LOCKS:
47529 case ALLOW_ROW_LOCKS:
47530 case ALL_SPARSE_COLUMNS:
47531 case BUCKET_COUNT:
47532 case COLUMNSTORE_ARCHIVE:
47533 case COLUMN_ENCRYPTION_KEY:
47534 case COLUMN_SET:
47535 case COMPRESSION_DELAY:
47536 case DATABASE_DEAULT:
47537 case DATA_COMPRESSION:
47538 case DATA_CONSISTENCY_CHECK:
47539 case ENCRYPTION_TYPE:
47540 case SYSTEM_TIME:
47541 case SYSTEM_VERSIONING:
47542 case TEXTIMAGE_ON:
47543 case WAIT_AT_LOW_PRIORITY:
47544 case STATISTICS_INCREMENTAL:
47545 case STATISTICS_NORECOMPUTE:
47546 case ROUND_ROBIN:
47547 case SCHEMA_AND_DATA:
47548 case SCHEMA_ONLY:
47549 case SORT_IN_TEMPDB:
47550 case IGNORE_DUP_KEY:
47551 case IMPLICIT_TRANSACTIONS:
47552 case MAX_DURATION:
47553 case MEMORY_OPTIMIZED:
47554 case MIGRATION_STATE:
47555 case PAD_INDEX:
47556 case REMOTE_DATA_ARCHIVE:
47557 case FILESTREAM_ON:
47558 case FILETABLE_COLLATE_FILENAME:
47559 case FILETABLE_DIRECTORY:
47560 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
47561 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
47562 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
47563 case FILTER_PREDICATE:
47564 case HISTORY_RETENTION_PERIOD:
47565 case HISTORY_TABLE:
47566 case LOCK_ESCALATION:
47567 case DROP_EXISTING:
47568 case ROW_NUMBER:
47569 case FIRST:
47570 case DATETIME2:
47571 case OUTPUT:
47572 case INSERTED:
47573 case DELETED:
47574 case FILENAME:
47575 case MAXSIZE:
47576 case FILEGROWTH:
47577 case UNLIMITED:
47578 case KB:
47579 case MB:
47580 case GB:
47581 case TB:
47582 case MEMORY_OPTIMIZED_DATA:
47583 case FILEGROUP:
47584 case NON_TRANSACTED_ACCESS:
47585 case DB_CHAINING:
47586 case TRUSTWORTHY:
47587 case FORWARD_ONLY:
47588 case KEYSET:
47589 case FAST_FORWARD:
47590 case SCROLL_LOCKS:
47591 case OPTIMISTIC:
47592 case TYPE_WARNING:
47593 case SCHEMABINDING:
47594 case CALLER:
47595 case OWNER:
47596 case SNAPSHOT:
47597 case REPEATABLE:
47598 case SERIALIZABLE:
47599 case NATIVE_COMPILATION:
47600 case VIEW_METADATA:
47601 case INSTEAD:
47602 case APPEND:
47603 case INCREMENT:
47604 case CACHE:
47605 case MINVALUE:
47606 case MAXVALUE:
47607 case RESTART:
47608 case LOB_COMPACTION:
47609 case COMPRESS_ALL_ROW_GROUPS:
47610 case REORGANIZE:
47611 case RESUME:
47612 case PAUSE:
47613 case ABORT:
47614 case ACCELERATED_DATABASE_RECOVERY:
47615 case PERSISTENT_VERSION_STORE_FILEGROUP:
47616 case IMMEDIATE:
47617 case NO_WAIT:
47618 case TARGET_RECOVERY_TIME:
47619 case SECONDS:
47620 case HONOR_BROKER_PRIORITY:
47621 case ERROR_BROKER_CONVERSATIONS:
47622 case NEW_BROKER:
47623 case DISABLE_BROKER:
47624 case ENABLE_BROKER:
47625 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
47626 case READ_COMMITTED_SNAPSHOT:
47627 case ALLOW_SNAPSHOT_ISOLATION:
47628 case RECURSIVE_TRIGGERS:
47629 case QUOTED_IDENTIFIER:
47630 case NUMERIC_ROUNDABORT:
47631 case CONCAT_NULL_YIELDS_NULL:
47632 case COMPATIBILITY_LEVEL:
47633 case ARITHABORT:
47634 case ANSI_WARNINGS:
47635 case ANSI_PADDING:
47636 case ANSI_NULLS:
47637 case ANSI_NULL_DEFAULT:
47638 case PAGE_VERIFY:
47639 case CHECKSUM:
47640 case TORN_PAGE_DETECTION:
47641 case BULK_LOGGED:
47642 case RECOVERY:
47643 case TOTAL_EXECUTION_CPU_TIME_MS:
47644 case TOTAL_COMPILE_CPU_TIME_MS:
47645 case STALE_CAPTURE_POLICY_THRESHOLD:
47646 case EXECUTION_COUNT:
47647 case QUERY_CAPTURE_POLICY:
47648 case WAIT_STATS_CAPTURE_MODE:
47649 case MAX_PLANS_PER_QUERY:
47650 case QUERY_CAPTURE_MODE:
47651 case SIZE_BASED_CLEANUP_MODE:
47652 case INTERVAL_LENGTH_MINUTES:
47653 case MAX_STORAGE_SIZE_MB:
47654 case DATA_FLUSH_INTERVAL_SECONDS:
47655 case CLEANUP_POLICY:
47656 case CUSTOM:
47657 case STALE_QUERY_THRESHOLD_DAYS:
47658 case OPERATION_MODE:
47659 case QUERY_STORE:
47660 case CURSOR_DEFAULT:
47661 case GLOBAL:
47662 case CURSOR_CLOSE_ON_COMMIT:
47663 case HOURS:
47664 case CHANGE_RETENTION:
47665 case AUTO_CLEANUP:
47666 case CHANGE_TRACKING:
47667 case AUTOMATIC_TUNING:
47668 case FORCE_LAST_GOOD_PLAN:
47669 case AUTO_UPDATE_STATISTICS_ASYNC:
47670 case AUTO_UPDATE_STATISTICS:
47671 case AUTO_SHRINK:
47672 case AUTO_CREATE_STATISTICS:
47673 case INCREMENTAL:
47674 case AUTO_CLOSE:
47675 case DATA_RETENTION:
47676 case TEMPORAL_HISTORY_RETENTION:
47677 case EDITION:
47678 case MIXED_PAGE_ALLOCATION:
47679 case DISABLED:
47680 case ALLOWED:
47681 case HADR:
47682 case MULTI_USER:
47683 case RESTRICTED_USER:
47684 case SINGLE_USER:
47685 case OFFLINE:
47686 case EMERGENCY:
47687 case SUSPEND:
47688 case DATE_CORRELATION_OPTIMIZATION:
47689 case ELASTIC_POOL:
47690 case SERVICE_OBJECTIVE:
47691 case DATABASE_NAME:
47692 case ALLOW_CONNECTIONS:
47693 case GEO:
47694 case NAMED:
47695 case DATEFIRST:
47696 case BACKUP_STORAGE_REDUNDANCY:
47697 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
47698 case SECONDARY:
47699 case FAILOVER:
47700 case DEFAULT_FULLTEXT_LANGUAGE:
47701 case DEFAULT_LANGUAGE:
47702 case INLINE:
47703 case NESTED_TRIGGERS:
47704 case TRANSFORM_NOISE_WORDS:
47705 case TWO_DIGIT_YEAR_CUTOFF:
47706 case PERSISTENT_LOG_BUFFER:
47707 case DIRECTORY_NAME:
47708 case DATEFORMAT:
47709 case DELAYED_DURABILITY:
47710 case AUTHORIZATION:
47711 case TRANSFER:
47712 case SEARCH:
47713 case MEMBER:
47714 case IDENTIFIER_:
47715 case DELIMITED_IDENTIFIER_:
47716 enterOuterAlt(_localctx, 1);
47717 {
47718 setState(6443);
47719 userName();
47720 setState(6447);
47721 _errHandler.sync(this);
47722 _la = _input.LA(1);
47723 if (_la==FROM || _la==FOR) {
47724 {
47725 setState(6444);
47726 _la = _input.LA(1);
47727 if ( !(_la==FROM || _la==FOR) ) {
47728 _errHandler.recoverInline(this);
47729 }
47730 else {
47731 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47732 _errHandler.reportMatch(this);
47733 consume();
47734 }
47735 setState(6445);
47736 match(LOGIN);
47737 setState(6446);
47738 identifier();
47739 }
47740 }
47741
47742 }
47743 break;
47744 case FROM:
47745 enterOuterAlt(_localctx, 2);
47746 {
47747 setState(6449);
47748 match(FROM);
47749 setState(6450);
47750 match(EXTERNAL);
47751 setState(6451);
47752 match(PROVIDER);
47753 setState(6461);
47754 _errHandler.sync(this);
47755 _la = _input.LA(1);
47756 if (_la==WITH) {
47757 {
47758 setState(6452);
47759 match(WITH);
47760 setState(6453);
47761 limitedOptionsList();
47762 setState(6458);
47763 _errHandler.sync(this);
47764 _la = _input.LA(1);
47765 while (_la==COMMA_) {
47766 {
47767 {
47768 setState(6454);
47769 match(COMMA_);
47770 setState(6455);
47771 limitedOptionsList();
47772 }
47773 }
47774 setState(6460);
47775 _errHandler.sync(this);
47776 _la = _input.LA(1);
47777 }
47778 }
47779 }
47780
47781 }
47782 break;
47783 default:
47784 throw new NoViableAltException(this);
47785 }
47786 }
47787 catch (RecognitionException re) {
47788 _localctx.exception = re;
47789 _errHandler.reportError(this, re);
47790 _errHandler.recover(this, re);
47791 }
47792 finally {
47793 exitRule();
47794 }
47795 return _localctx;
47796 }
47797
47798 public static class CreateUserWithDefaultSchemaContext extends ParserRuleContext {
47799 public UserNameContext userName() {
47800 return getRuleContext(UserNameContext.class,0);
47801 }
47802 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
47803 public IdentifierContext identifier() {
47804 return getRuleContext(IdentifierContext.class,0);
47805 }
47806 public TerminalNode WITHOUT() { return getToken(SQLServerStatementParser.WITHOUT, 0); }
47807 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
47808 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
47809 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
47810 public SchemaNameContext schemaName() {
47811 return getRuleContext(SchemaNameContext.class,0);
47812 }
47813 public TerminalNode FOR() { return getToken(SQLServerStatementParser.FOR, 0); }
47814 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
47815 public CreateUserWithDefaultSchemaContext(ParserRuleContext parent, int invokingState) {
47816 super(parent, invokingState);
47817 }
47818 @Override public int getRuleIndex() { return RULE_createUserWithDefaultSchema; }
47819 @Override
47820 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47821 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithDefaultSchema(this);
47822 else return visitor.visitChildren(this);
47823 }
47824 }
47825
47826 public final CreateUserWithDefaultSchemaContext createUserWithDefaultSchema() throws RecognitionException {
47827 CreateUserWithDefaultSchemaContext _localctx = new CreateUserWithDefaultSchemaContext(_ctx, getState());
47828 enterRule(_localctx, 884, RULE_createUserWithDefaultSchema);
47829 int _la;
47830 try {
47831 enterOuterAlt(_localctx, 1);
47832 {
47833 setState(6465);
47834 userName();
47835 setState(6471);
47836 _errHandler.sync(this);
47837 switch (_input.LA(1)) {
47838 case FROM:
47839 case FOR:
47840 {
47841 setState(6466);
47842 _la = _input.LA(1);
47843 if ( !(_la==FROM || _la==FOR) ) {
47844 _errHandler.recoverInline(this);
47845 }
47846 else {
47847 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
47848 _errHandler.reportMatch(this);
47849 consume();
47850 }
47851 setState(6467);
47852 match(LOGIN);
47853 setState(6468);
47854 identifier();
47855 }
47856 break;
47857 case WITHOUT:
47858 {
47859 setState(6469);
47860 match(WITHOUT);
47861 setState(6470);
47862 match(LOGIN);
47863 }
47864 break;
47865 case EOF:
47866 case SEMI_:
47867 case WITH:
47868 break;
47869 default:
47870 break;
47871 }
47872 setState(6477);
47873 _errHandler.sync(this);
47874 _la = _input.LA(1);
47875 if (_la==WITH) {
47876 {
47877 setState(6473);
47878 match(WITH);
47879 setState(6474);
47880 match(DEFAULT_SCHEMA);
47881 setState(6475);
47882 match(EQ_);
47883 setState(6476);
47884 schemaName();
47885 }
47886 }
47887
47888 }
47889 }
47890 catch (RecognitionException re) {
47891 _localctx.exception = re;
47892 _errHandler.reportError(this, re);
47893 _errHandler.recover(this, re);
47894 }
47895 finally {
47896 exitRule();
47897 }
47898 return _localctx;
47899 }
47900
47901 public static class CreateUserWithAzureActiveDirectoryPrincipalClauseContext extends ParserRuleContext {
47902 public AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() {
47903 return getRuleContext(AzureActiveDirectoryPrincipalContext.class,0);
47904 }
47905 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
47906 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
47907 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
47908 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
47909 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
47910 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
47911 public SchemaNameContext schemaName() {
47912 return getRuleContext(SchemaNameContext.class,0);
47913 }
47914 public CreateUserWithAzureActiveDirectoryPrincipalClauseContext(ParserRuleContext parent, int invokingState) {
47915 super(parent, invokingState);
47916 }
47917 @Override public int getRuleIndex() { return RULE_createUserWithAzureActiveDirectoryPrincipalClause; }
47918 @Override
47919 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47920 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateUserWithAzureActiveDirectoryPrincipalClause(this);
47921 else return visitor.visitChildren(this);
47922 }
47923 }
47924
47925 public final CreateUserWithAzureActiveDirectoryPrincipalClauseContext createUserWithAzureActiveDirectoryPrincipalClause() throws RecognitionException {
47926 CreateUserWithAzureActiveDirectoryPrincipalClauseContext _localctx = new CreateUserWithAzureActiveDirectoryPrincipalClauseContext(_ctx, getState());
47927 enterRule(_localctx, 886, RULE_createUserWithAzureActiveDirectoryPrincipalClause);
47928 int _la;
47929 try {
47930 enterOuterAlt(_localctx, 1);
47931 {
47932 setState(6479);
47933 azureActiveDirectoryPrincipal();
47934 setState(6480);
47935 match(FROM);
47936 setState(6481);
47937 match(EXTERNAL);
47938 setState(6482);
47939 match(PROVIDER);
47940 setState(6487);
47941 _errHandler.sync(this);
47942 _la = _input.LA(1);
47943 if (_la==WITH) {
47944 {
47945 setState(6483);
47946 match(WITH);
47947 setState(6484);
47948 match(DEFAULT_SCHEMA);
47949 setState(6485);
47950 match(EQ_);
47951 setState(6486);
47952 schemaName();
47953 }
47954 }
47955
47956 }
47957 }
47958 catch (RecognitionException re) {
47959 _localctx.exception = re;
47960 _errHandler.reportError(this, re);
47961 _errHandler.recover(this, re);
47962 }
47963 finally {
47964 exitRule();
47965 }
47966 return _localctx;
47967 }
47968
47969 public static class WindowsPrincipalContext extends ParserRuleContext {
47970 public UserNameContext userName() {
47971 return getRuleContext(UserNameContext.class,0);
47972 }
47973 public WindowsPrincipalContext(ParserRuleContext parent, int invokingState) {
47974 super(parent, invokingState);
47975 }
47976 @Override public int getRuleIndex() { return RULE_windowsPrincipal; }
47977 @Override
47978 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
47979 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowsPrincipal(this);
47980 else return visitor.visitChildren(this);
47981 }
47982 }
47983
47984 public final WindowsPrincipalContext windowsPrincipal() throws RecognitionException {
47985 WindowsPrincipalContext _localctx = new WindowsPrincipalContext(_ctx, getState());
47986 enterRule(_localctx, 888, RULE_windowsPrincipal);
47987 try {
47988 enterOuterAlt(_localctx, 1);
47989 {
47990 setState(6489);
47991 userName();
47992 }
47993 }
47994 catch (RecognitionException re) {
47995 _localctx.exception = re;
47996 _errHandler.reportError(this, re);
47997 _errHandler.recover(this, re);
47998 }
47999 finally {
48000 exitRule();
48001 }
48002 return _localctx;
48003 }
48004
48005 public static class AzureActiveDirectoryPrincipalContext extends ParserRuleContext {
48006 public UserNameContext userName() {
48007 return getRuleContext(UserNameContext.class,0);
48008 }
48009 public AzureActiveDirectoryPrincipalContext(ParserRuleContext parent, int invokingState) {
48010 super(parent, invokingState);
48011 }
48012 @Override public int getRuleIndex() { return RULE_azureActiveDirectoryPrincipal; }
48013 @Override
48014 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48015 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAzureActiveDirectoryPrincipal(this);
48016 else return visitor.visitChildren(this);
48017 }
48018 }
48019
48020 public final AzureActiveDirectoryPrincipalContext azureActiveDirectoryPrincipal() throws RecognitionException {
48021 AzureActiveDirectoryPrincipalContext _localctx = new AzureActiveDirectoryPrincipalContext(_ctx, getState());
48022 enterRule(_localctx, 890, RULE_azureActiveDirectoryPrincipal);
48023 try {
48024 enterOuterAlt(_localctx, 1);
48025 {
48026 setState(6491);
48027 userName();
48028 }
48029 }
48030 catch (RecognitionException re) {
48031 _localctx.exception = re;
48032 _errHandler.reportError(this, re);
48033 _errHandler.recover(this, re);
48034 }
48035 finally {
48036 exitRule();
48037 }
48038 return _localctx;
48039 }
48040
48041 public static class UserNameContext extends ParserRuleContext {
48042 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
48043 return getRuleContext(IgnoredNameIdentifierContext.class,0);
48044 }
48045 public UserNameContext(ParserRuleContext parent, int invokingState) {
48046 super(parent, invokingState);
48047 }
48048 @Override public int getRuleIndex() { return RULE_userName; }
48049 @Override
48050 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48051 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitUserName(this);
48052 else return visitor.visitChildren(this);
48053 }
48054 }
48055
48056 public final UserNameContext userName() throws RecognitionException {
48057 UserNameContext _localctx = new UserNameContext(_ctx, getState());
48058 enterRule(_localctx, 892, RULE_userName);
48059 try {
48060 enterOuterAlt(_localctx, 1);
48061 {
48062 setState(6493);
48063 ignoredNameIdentifier();
48064 }
48065 }
48066 catch (RecognitionException re) {
48067 _localctx.exception = re;
48068 _errHandler.reportError(this, re);
48069 _errHandler.recover(this, re);
48070 }
48071 finally {
48072 exitRule();
48073 }
48074 return _localctx;
48075 }
48076
48077 public static class IgnoredNameIdentifierContext extends ParserRuleContext {
48078 public List<IdentifierContext> identifier() {
48079 return getRuleContexts(IdentifierContext.class);
48080 }
48081 public IdentifierContext identifier(int i) {
48082 return getRuleContext(IdentifierContext.class,i);
48083 }
48084 public TerminalNode DOT_() { return getToken(SQLServerStatementParser.DOT_, 0); }
48085 public IgnoredNameIdentifierContext(ParserRuleContext parent, int invokingState) {
48086 super(parent, invokingState);
48087 }
48088 @Override public int getRuleIndex() { return RULE_ignoredNameIdentifier; }
48089 @Override
48090 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48091 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitIgnoredNameIdentifier(this);
48092 else return visitor.visitChildren(this);
48093 }
48094 }
48095
48096 public final IgnoredNameIdentifierContext ignoredNameIdentifier() throws RecognitionException {
48097 IgnoredNameIdentifierContext _localctx = new IgnoredNameIdentifierContext(_ctx, getState());
48098 enterRule(_localctx, 894, RULE_ignoredNameIdentifier);
48099 int _la;
48100 try {
48101 enterOuterAlt(_localctx, 1);
48102 {
48103 setState(6495);
48104 identifier();
48105 setState(6498);
48106 _errHandler.sync(this);
48107 _la = _input.LA(1);
48108 if (_la==DOT_) {
48109 {
48110 setState(6496);
48111 match(DOT_);
48112 setState(6497);
48113 identifier();
48114 }
48115 }
48116
48117 }
48118 }
48119 catch (RecognitionException re) {
48120 _localctx.exception = re;
48121 _errHandler.reportError(this, re);
48122 _errHandler.recover(this, re);
48123 }
48124 finally {
48125 exitRule();
48126 }
48127 return _localctx;
48128 }
48129
48130 public static class DropUserContext extends ParserRuleContext {
48131 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
48132 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
48133 public UserNameContext userName() {
48134 return getRuleContext(UserNameContext.class,0);
48135 }
48136 public IfExistsContext ifExists() {
48137 return getRuleContext(IfExistsContext.class,0);
48138 }
48139 public DropUserContext(ParserRuleContext parent, int invokingState) {
48140 super(parent, invokingState);
48141 }
48142 @Override public int getRuleIndex() { return RULE_dropUser; }
48143 @Override
48144 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48145 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropUser(this);
48146 else return visitor.visitChildren(this);
48147 }
48148 }
48149
48150 public final DropUserContext dropUser() throws RecognitionException {
48151 DropUserContext _localctx = new DropUserContext(_ctx, getState());
48152 enterRule(_localctx, 896, RULE_dropUser);
48153 int _la;
48154 try {
48155 enterOuterAlt(_localctx, 1);
48156 {
48157 setState(6500);
48158 match(DROP);
48159 setState(6501);
48160 match(USER);
48161 setState(6503);
48162 _errHandler.sync(this);
48163 _la = _input.LA(1);
48164 if (_la==IF) {
48165 {
48166 setState(6502);
48167 ifExists();
48168 }
48169 }
48170
48171 setState(6505);
48172 userName();
48173 }
48174 }
48175 catch (RecognitionException re) {
48176 _localctx.exception = re;
48177 _errHandler.reportError(this, re);
48178 _errHandler.recover(this, re);
48179 }
48180 finally {
48181 exitRule();
48182 }
48183 return _localctx;
48184 }
48185
48186 public static class AlterUserContext extends ParserRuleContext {
48187 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
48188 public TerminalNode USER() { return getToken(SQLServerStatementParser.USER, 0); }
48189 public UserNameContext userName() {
48190 return getRuleContext(UserNameContext.class,0);
48191 }
48192 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
48193 public List<SetItemContext> setItem() {
48194 return getRuleContexts(SetItemContext.class);
48195 }
48196 public SetItemContext setItem(int i) {
48197 return getRuleContext(SetItemContext.class,i);
48198 }
48199 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
48200 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
48201 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
48202 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
48203 public TerminalNode COMMA_(int i) {
48204 return getToken(SQLServerStatementParser.COMMA_, i);
48205 }
48206 public AlterUserContext(ParserRuleContext parent, int invokingState) {
48207 super(parent, invokingState);
48208 }
48209 @Override public int getRuleIndex() { return RULE_alterUser; }
48210 @Override
48211 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48212 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterUser(this);
48213 else return visitor.visitChildren(this);
48214 }
48215 }
48216
48217 public final AlterUserContext alterUser() throws RecognitionException {
48218 AlterUserContext _localctx = new AlterUserContext(_ctx, getState());
48219 enterRule(_localctx, 898, RULE_alterUser);
48220 int _la;
48221 try {
48222 enterOuterAlt(_localctx, 1);
48223 {
48224 setState(6507);
48225 match(ALTER);
48226 setState(6508);
48227 match(USER);
48228 setState(6509);
48229 userName();
48230 setState(6522);
48231 _errHandler.sync(this);
48232 switch (_input.LA(1)) {
48233 case WITH:
48234 {
48235 setState(6510);
48236 match(WITH);
48237 setState(6511);
48238 setItem();
48239 setState(6516);
48240 _errHandler.sync(this);
48241 _la = _input.LA(1);
48242 while (_la==COMMA_) {
48243 {
48244 {
48245 setState(6512);
48246 match(COMMA_);
48247 setState(6513);
48248 setItem();
48249 }
48250 }
48251 setState(6518);
48252 _errHandler.sync(this);
48253 _la = _input.LA(1);
48254 }
48255 }
48256 break;
48257 case FROM:
48258 {
48259 setState(6519);
48260 match(FROM);
48261 setState(6520);
48262 match(EXTERNAL);
48263 setState(6521);
48264 match(PROVIDER);
48265 }
48266 break;
48267 default:
48268 throw new NoViableAltException(this);
48269 }
48270 }
48271 }
48272 catch (RecognitionException re) {
48273 _localctx.exception = re;
48274 _errHandler.reportError(this, re);
48275 _errHandler.recover(this, re);
48276 }
48277 finally {
48278 exitRule();
48279 }
48280 return _localctx;
48281 }
48282
48283 public static class SetItemContext extends ParserRuleContext {
48284 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
48285 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
48286 public TerminalNode EQ_(int i) {
48287 return getToken(SQLServerStatementParser.EQ_, i);
48288 }
48289 public UserNameContext userName() {
48290 return getRuleContext(UserNameContext.class,0);
48291 }
48292 public TerminalNode DEFAULT_SCHEMA() { return getToken(SQLServerStatementParser.DEFAULT_SCHEMA, 0); }
48293 public SchemaNameContext schemaName() {
48294 return getRuleContext(SchemaNameContext.class,0);
48295 }
48296 public TerminalNode NULL() { return getToken(SQLServerStatementParser.NULL, 0); }
48297 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
48298 public IdentifierContext identifier() {
48299 return getRuleContext(IdentifierContext.class,0);
48300 }
48301 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
48302 public List<StringLiteralsContext> stringLiterals() {
48303 return getRuleContexts(StringLiteralsContext.class);
48304 }
48305 public StringLiteralsContext stringLiterals(int i) {
48306 return getRuleContext(StringLiteralsContext.class,i);
48307 }
48308 public TerminalNode OLD_PASSWORD() { return getToken(SQLServerStatementParser.OLD_PASSWORD, 0); }
48309 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
48310 public TerminalNode NONE() { return getToken(SQLServerStatementParser.NONE, 0); }
48311 public TerminalNode ALLOW_ENCRYPTED_VALUE_MODIFICATIONS() { return getToken(SQLServerStatementParser.ALLOW_ENCRYPTED_VALUE_MODIFICATIONS, 0); }
48312 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
48313 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
48314 public SetItemContext(ParserRuleContext parent, int invokingState) {
48315 super(parent, invokingState);
48316 }
48317 @Override public int getRuleIndex() { return RULE_setItem; }
48318 @Override
48319 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
48320 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetItem(this);
48321 else return visitor.visitChildren(this);
48322 }
48323 }
48324
48325 public final SetItemContext setItem() throws RecognitionException {
48326 SetItemContext _localctx = new SetItemContext(_ctx, getState());
48327 enterRule(_localctx, 900, RULE_setItem);
48328 int _la;
48329 try {
48330 setState(6555);
48331 _errHandler.sync(this);
48332 switch (_input.LA(1)) {
48333 case NAME:
48334 enterOuterAlt(_localctx, 1);
48335 {
48336 setState(6524);
48337 match(NAME);
48338 setState(6525);
48339 match(EQ_);
48340 setState(6526);
48341 userName();
48342 }
48343 break;
48344 case DEFAULT_SCHEMA:
48345 enterOuterAlt(_localctx, 2);
48346 {
48347 setState(6527);
48348 match(DEFAULT_SCHEMA);
48349 setState(6528);
48350 match(EQ_);
48351 setState(6531);
48352 _errHandler.sync(this);
48353 switch (_input.LA(1)) {
48354 case TRUNCATE:
48355 case SCHEMA:
48356 case FUNCTION:
48357 case TRIGGER:
48358 case CAST:
48359 case GROUP:
48360 case LIMIT:
48361 case OFFSET:
48362 case SAVEPOINT:
48363 case BOOLEAN:
48364 case ARRAY:
48365 case DATE:
48366 case LOCALTIME:
48367 case LOCALTIMESTAMP:
48368 case QUARTER:
48369 case WEEK:
48370 case DAY:
48371 case MICROSECOND:
48372 case MAX:
48373 case MIN:
48374 case SUM:
48375 case COUNT:
48376 case AVG:
48377 case ENABLE:
48378 case DISABLE:
48379 case INSTANCE:
48380 case DO:
48381 case DEFINER:
48382 case SQL:
48383 case CASCADED:
48384 case LOCAL:
48385 case NEXT:
48386 case NAME:
48387 case INTEGER:
48388 case TYPE:
48389 case READ_ONLY:
48390 case DATABASE:
48391 case DATEPART:
48392 case PASSWORD:
48393 case BINARY:
48394 case HIDDEN_:
48395 case MOD:
48396 case PARTITION:
48397 case PARTITIONS:
48398 case TOP:
48399 case ROW:
48400 case ROWS:
48401 case XOR:
48402 case ALWAYS:
48403 case ROLE:
48404 case START:
48405 case ALGORITHM:
48406 case AUTO:
48407 case BLOCKERS:
48408 case CLUSTERED:
48409 case NONCLUSTERED:
48410 case COLUMNSTORE:
48411 case CONTENT:
48412 case YEARS:
48413 case MONTHS:
48414 case WEEKS:
48415 case DAYS:
48416 case MINUTES:
48417 case DENY:
48418 case DETERMINISTIC:
48419 case DISTRIBUTION:
48420 case DOCUMENT:
48421 case DURABILITY:
48422 case ENCRYPTED:
48423 case FILESTREAM:
48424 case FILETABLE:
48425 case FILLFACTOR:
48426 case FOLLOWING:
48427 case HASH:
48428 case HEAP:
48429 case INBOUND:
48430 case OUTBOUND:
48431 case UNBOUNDED:
48432 case INFINITE:
48433 case LOGIN:
48434 case MASKED:
48435 case MAXDOP:
48436 case MOVE:
48437 case NOCHECK:
48438 case OBJECT:
48439 case OFF:
48440 case ONLINE:
48441 case OVER:
48442 case PAGE:
48443 case PAUSED:
48444 case PERIOD:
48445 case PERSISTED:
48446 case PRECEDING:
48447 case RANDOMIZED:
48448 case RANGE:
48449 case REBUILD:
48450 case REPLICATE:
48451 case REPLICATION:
48452 case RESUMABLE:
48453 case ROWGUIDCOL:
48454 case SAVE:
48455 case SELF:
48456 case SPARSE:
48457 case SWITCH:
48458 case TRAN:
48459 case TRANCOUNT:
48460 case CONTROL:
48461 case CONCAT:
48462 case TAKE:
48463 case OWNERSHIP:
48464 case DEFINITION:
48465 case APPLICATION:
48466 case ASSEMBLY:
48467 case SYMMETRIC:
48468 case ASYMMETRIC:
48469 case SERVER:
48470 case RECEIVE:
48471 case CHANGE:
48472 case TRACE:
48473 case TRACKING:
48474 case RESOURCES:
48475 case SETTINGS:
48476 case STATE:
48477 case AVAILABILITY:
48478 case CREDENTIAL:
48479 case ENDPOINT:
48480 case EVENT:
48481 case NOTIFICATION:
48482 case LINKED:
48483 case AUDIT:
48484 case DDL:
48485 case XML:
48486 case IMPERSONATE:
48487 case SECURABLES:
48488 case AUTHENTICATE:
48489 case EXTERNAL:
48490 case ACCESS:
48491 case ADMINISTER:
48492 case BULK:
48493 case OPERATIONS:
48494 case UNSAFE:
48495 case SHUTDOWN:
48496 case SCOPED:
48497 case CONFIGURATION:
48498 case DATASPACE:
48499 case SERVICE:
48500 case CERTIFICATE:
48501 case CONTRACT:
48502 case ENCRYPTION:
48503 case MASTER:
48504 case DATA:
48505 case SOURCE:
48506 case FILE:
48507 case FORMAT:
48508 case LIBRARY:
48509 case FULLTEXT:
48510 case MASK:
48511 case UNMASK:
48512 case MESSAGE:
48513 case REMOTE:
48514 case BINDING:
48515 case ROUTE:
48516 case SECURITY:
48517 case POLICY:
48518 case AGGREGATE:
48519 case QUEUE:
48520 case RULE:
48521 case SYNONYM:
48522 case COLLECTION:
48523 case SCRIPT:
48524 case KILL:
48525 case BACKUP:
48526 case LOG:
48527 case SHOWPLAN:
48528 case SUBSCRIBE:
48529 case QUERY:
48530 case NOTIFICATIONS:
48531 case CHECKPOINT:
48532 case SEQUENCE:
48533 case ABORT_AFTER_WAIT:
48534 case ALLOW_PAGE_LOCKS:
48535 case ALLOW_ROW_LOCKS:
48536 case ALL_SPARSE_COLUMNS:
48537 case BUCKET_COUNT:
48538 case COLUMNSTORE_ARCHIVE:
48539 case COLUMN_ENCRYPTION_KEY:
48540 case COLUMN_SET:
48541 case COMPRESSION_DELAY:
48542 case DATABASE_DEAULT:
48543 case DATA_COMPRESSION:
48544 case DATA_CONSISTENCY_CHECK:
48545 case ENCRYPTION_TYPE:
48546 case SYSTEM_TIME:
48547 case SYSTEM_VERSIONING:
48548 case TEXTIMAGE_ON:
48549 case WAIT_AT_LOW_PRIORITY:
48550 case STATISTICS_INCREMENTAL:
48551 case STATISTICS_NORECOMPUTE:
48552 case ROUND_ROBIN:
48553 case SCHEMA_AND_DATA:
48554 case SCHEMA_ONLY:
48555 case SORT_IN_TEMPDB:
48556 case IGNORE_DUP_KEY:
48557 case IMPLICIT_TRANSACTIONS:
48558 case MAX_DURATION:
48559 case MEMORY_OPTIMIZED:
48560 case MIGRATION_STATE:
48561 case PAD_INDEX:
48562 case REMOTE_DATA_ARCHIVE:
48563 case FILESTREAM_ON:
48564 case FILETABLE_COLLATE_FILENAME:
48565 case FILETABLE_DIRECTORY:
48566 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
48567 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
48568 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
48569 case FILTER_PREDICATE:
48570 case HISTORY_RETENTION_PERIOD:
48571 case HISTORY_TABLE:
48572 case LOCK_ESCALATION:
48573 case DROP_EXISTING:
48574 case ROW_NUMBER:
48575 case FIRST:
48576 case DATETIME2:
48577 case OUTPUT:
48578 case INSERTED:
48579 case DELETED:
48580 case FILENAME:
48581 case MAXSIZE:
48582 case FILEGROWTH:
48583 case UNLIMITED:
48584 case KB:
48585 case MB:
48586 case GB:
48587 case TB:
48588 case MEMORY_OPTIMIZED_DATA:
48589 case FILEGROUP:
48590 case NON_TRANSACTED_ACCESS:
48591 case DB_CHAINING:
48592 case TRUSTWORTHY:
48593 case FORWARD_ONLY:
48594 case KEYSET:
48595 case FAST_FORWARD:
48596 case SCROLL_LOCKS:
48597 case OPTIMISTIC:
48598 case TYPE_WARNING:
48599 case SCHEMABINDING:
48600 case CALLER:
48601 case OWNER:
48602 case SNAPSHOT:
48603 case REPEATABLE:
48604 case SERIALIZABLE:
48605 case NATIVE_COMPILATION:
48606 case VIEW_METADATA:
48607 case INSTEAD:
48608 case APPEND:
48609 case INCREMENT:
48610 case CACHE:
48611 case MINVALUE:
48612 case MAXVALUE:
48613 case RESTART:
48614 case LOB_COMPACTION:
48615 case COMPRESS_ALL_ROW_GROUPS:
48616 case REORGANIZE:
48617 case RESUME:
48618 case PAUSE:
48619 case ABORT:
48620 case ACCELERATED_DATABASE_RECOVERY:
48621 case PERSISTENT_VERSION_STORE_FILEGROUP:
48622 case IMMEDIATE:
48623 case NO_WAIT:
48624 case TARGET_RECOVERY_TIME:
48625 case SECONDS:
48626 case HONOR_BROKER_PRIORITY:
48627 case ERROR_BROKER_CONVERSATIONS:
48628 case NEW_BROKER:
48629 case DISABLE_BROKER:
48630 case ENABLE_BROKER:
48631 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
48632 case READ_COMMITTED_SNAPSHOT:
48633 case ALLOW_SNAPSHOT_ISOLATION:
48634 case RECURSIVE_TRIGGERS:
48635 case QUOTED_IDENTIFIER:
48636 case NUMERIC_ROUNDABORT:
48637 case CONCAT_NULL_YIELDS_NULL:
48638 case COMPATIBILITY_LEVEL:
48639 case ARITHABORT:
48640 case ANSI_WARNINGS:
48641 case ANSI_PADDING:
48642 case ANSI_NULLS:
48643 case ANSI_NULL_DEFAULT:
48644 case PAGE_VERIFY:
48645 case CHECKSUM:
48646 case TORN_PAGE_DETECTION:
48647 case BULK_LOGGED:
48648 case RECOVERY:
48649 case TOTAL_EXECUTION_CPU_TIME_MS:
48650 case TOTAL_COMPILE_CPU_TIME_MS:
48651 case STALE_CAPTURE_POLICY_THRESHOLD:
48652 case EXECUTION_COUNT:
48653 case QUERY_CAPTURE_POLICY:
48654 case WAIT_STATS_CAPTURE_MODE:
48655 case MAX_PLANS_PER_QUERY:
48656 case QUERY_CAPTURE_MODE:
48657 case SIZE_BASED_CLEANUP_MODE:
48658 case INTERVAL_LENGTH_MINUTES:
48659 case MAX_STORAGE_SIZE_MB:
48660 case DATA_FLUSH_INTERVAL_SECONDS:
48661 case CLEANUP_POLICY:
48662 case CUSTOM:
48663 case STALE_QUERY_THRESHOLD_DAYS:
48664 case OPERATION_MODE:
48665 case QUERY_STORE:
48666 case CURSOR_DEFAULT:
48667 case GLOBAL:
48668 case CURSOR_CLOSE_ON_COMMIT:
48669 case HOURS:
48670 case CHANGE_RETENTION:
48671 case AUTO_CLEANUP:
48672 case CHANGE_TRACKING:
48673 case AUTOMATIC_TUNING:
48674 case FORCE_LAST_GOOD_PLAN:
48675 case AUTO_UPDATE_STATISTICS_ASYNC:
48676 case AUTO_UPDATE_STATISTICS:
48677 case AUTO_SHRINK:
48678 case AUTO_CREATE_STATISTICS:
48679 case INCREMENTAL:
48680 case AUTO_CLOSE:
48681 case DATA_RETENTION:
48682 case TEMPORAL_HISTORY_RETENTION:
48683 case EDITION:
48684 case MIXED_PAGE_ALLOCATION:
48685 case DISABLED:
48686 case ALLOWED:
48687 case HADR:
48688 case MULTI_USER:
48689 case RESTRICTED_USER:
48690 case SINGLE_USER:
48691 case OFFLINE:
48692 case EMERGENCY:
48693 case SUSPEND:
48694 case DATE_CORRELATION_OPTIMIZATION:
48695 case ELASTIC_POOL:
48696 case SERVICE_OBJECTIVE:
48697 case DATABASE_NAME:
48698 case ALLOW_CONNECTIONS:
48699 case GEO:
48700 case NAMED:
48701 case DATEFIRST:
48702 case BACKUP_STORAGE_REDUNDANCY:
48703 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
48704 case SECONDARY:
48705 case FAILOVER:
48706 case DEFAULT_FULLTEXT_LANGUAGE:
48707 case DEFAULT_LANGUAGE:
48708 case INLINE:
48709 case NESTED_TRIGGERS:
48710 case TRANSFORM_NOISE_WORDS:
48711 case TWO_DIGIT_YEAR_CUTOFF:
48712 case PERSISTENT_LOG_BUFFER:
48713 case DIRECTORY_NAME:
48714 case DATEFORMAT:
48715 case DELAYED_DURABILITY:
48716 case AUTHORIZATION:
48717 case TRANSFER:
48718 case SEARCH:
48719 case MEMBER:
48720 case IDENTIFIER_:
48721 case DELIMITED_IDENTIFIER_:
48722 {
48723 setState(6529);
48724 schemaName();
48725 }
48726 break;
48727 case NULL:
48728 {
48729 setState(6530);
48730 match(NULL);
48731 }
48732 break;
48733 default:
48734 throw new NoViableAltException(this);
48735 }
48736 }
48737 break;
48738 case LOGIN:
48739 enterOuterAlt(_localctx, 3);
48740 {
48741 setState(6533);
48742 match(LOGIN);
48743 setState(6534);
48744 match(EQ_);
48745 setState(6535);
48746 identifier();
48747 }
48748 break;
48749 case PASSWORD:
48750 enterOuterAlt(_localctx, 4);
48751 {
48752 setState(6536);
48753 match(PASSWORD);
48754 setState(6537);
48755 match(EQ_);
48756 setState(6538);
48757 stringLiterals();
48758 setState(6542);
48759 _errHandler.sync(this);
48760 _la = _input.LA(1);
48761 if (_la==OLD_PASSWORD) {
48762 {
48763 setState(6539);
48764 match(OLD_PASSWORD);
48765 setState(6540);
48766 match(EQ_);
48767 setState(6541);
48768 stringLiterals();
48769 }
48770 }
48771
48772 }
48773 break;
48774 case DEFAULT_LANGUAGE:
48775 enterOuterAlt(_localctx, 5);
48776 {
48777 setState(6544);
48778 match(DEFAULT_LANGUAGE);
48779 setState(6545);
48780 match(EQ_);
48781 setState(6548);
48782 _errHandler.sync(this);
48783 switch (_input.LA(1)) {
48784 case NONE:
48785 {
48786 setState(6546);
48787 match(NONE);
48788 }
48789 break;
48790 case TRUNCATE:
48791 case SCHEMA:
48792 case FUNCTION:
48793 case TRIGGER:
48794 case CAST:
48795 case GROUP:
48796 case LIMIT:
48797 case OFFSET:
48798 case SAVEPOINT:
48799 case BOOLEAN:
48800 case ARRAY:
48801 case DATE:
48802 case LOCALTIME:
48803 case LOCALTIMESTAMP:
48804 case QUARTER:
48805 case WEEK:
48806 case DAY:
48807 case MICROSECOND:
48808 case MAX:
48809 case MIN:
48810 case SUM:
48811 case COUNT:
48812 case AVG:
48813 case ENABLE:
48814 case DISABLE:
48815 case INSTANCE:
48816 case DO:
48817 case DEFINER:
48818 case SQL:
48819 case CASCADED:
48820 case LOCAL:
48821 case NEXT:
48822 case NAME:
48823 case INTEGER:
48824 case TYPE:
48825 case READ_ONLY:
48826 case DATABASE:
48827 case DATEPART:
48828 case PASSWORD:
48829 case BINARY:
48830 case HIDDEN_:
48831 case MOD:
48832 case PARTITION:
48833 case PARTITIONS:
48834 case TOP:
48835 case ROW:
48836 case ROWS:
48837 case XOR:
48838 case ALWAYS:
48839 case ROLE:
48840 case START:
48841 case ALGORITHM:
48842 case AUTO:
48843 case BLOCKERS:
48844 case CLUSTERED:
48845 case NONCLUSTERED:
48846 case COLUMNSTORE:
48847 case CONTENT:
48848 case YEARS:
48849 case MONTHS:
48850 case WEEKS:
48851 case DAYS:
48852 case MINUTES:
48853 case DENY:
48854 case DETERMINISTIC:
48855 case DISTRIBUTION:
48856 case DOCUMENT:
48857 case DURABILITY:
48858 case ENCRYPTED:
48859 case FILESTREAM:
48860 case FILETABLE:
48861 case FILLFACTOR:
48862 case FOLLOWING:
48863 case HASH:
48864 case HEAP:
48865 case INBOUND:
48866 case OUTBOUND:
48867 case UNBOUNDED:
48868 case INFINITE:
48869 case LOGIN:
48870 case MASKED:
48871 case MAXDOP:
48872 case MOVE:
48873 case NOCHECK:
48874 case OBJECT:
48875 case OFF:
48876 case ONLINE:
48877 case OVER:
48878 case PAGE:
48879 case PAUSED:
48880 case PERIOD:
48881 case PERSISTED:
48882 case PRECEDING:
48883 case RANDOMIZED:
48884 case RANGE:
48885 case REBUILD:
48886 case REPLICATE:
48887 case REPLICATION:
48888 case RESUMABLE:
48889 case ROWGUIDCOL:
48890 case SAVE:
48891 case SELF:
48892 case SPARSE:
48893 case SWITCH:
48894 case TRAN:
48895 case TRANCOUNT:
48896 case CONTROL:
48897 case CONCAT:
48898 case TAKE:
48899 case OWNERSHIP:
48900 case DEFINITION:
48901 case APPLICATION:
48902 case ASSEMBLY:
48903 case SYMMETRIC:
48904 case ASYMMETRIC:
48905 case SERVER:
48906 case RECEIVE:
48907 case CHANGE:
48908 case TRACE:
48909 case TRACKING:
48910 case RESOURCES:
48911 case SETTINGS:
48912 case STATE:
48913 case AVAILABILITY:
48914 case CREDENTIAL:
48915 case ENDPOINT:
48916 case EVENT:
48917 case NOTIFICATION:
48918 case LINKED:
48919 case AUDIT:
48920 case DDL:
48921 case XML:
48922 case IMPERSONATE:
48923 case SECURABLES:
48924 case AUTHENTICATE:
48925 case EXTERNAL:
48926 case ACCESS:
48927 case ADMINISTER:
48928 case BULK:
48929 case OPERATIONS:
48930 case UNSAFE:
48931 case SHUTDOWN:
48932 case SCOPED:
48933 case CONFIGURATION:
48934 case DATASPACE:
48935 case SERVICE:
48936 case CERTIFICATE:
48937 case CONTRACT:
48938 case ENCRYPTION:
48939 case MASTER:
48940 case DATA:
48941 case SOURCE:
48942 case FILE:
48943 case FORMAT:
48944 case LIBRARY:
48945 case FULLTEXT:
48946 case MASK:
48947 case UNMASK:
48948 case MESSAGE:
48949 case REMOTE:
48950 case BINDING:
48951 case ROUTE:
48952 case SECURITY:
48953 case POLICY:
48954 case AGGREGATE:
48955 case QUEUE:
48956 case RULE:
48957 case SYNONYM:
48958 case COLLECTION:
48959 case SCRIPT:
48960 case KILL:
48961 case BACKUP:
48962 case LOG:
48963 case SHOWPLAN:
48964 case SUBSCRIBE:
48965 case QUERY:
48966 case NOTIFICATIONS:
48967 case CHECKPOINT:
48968 case SEQUENCE:
48969 case ABORT_AFTER_WAIT:
48970 case ALLOW_PAGE_LOCKS:
48971 case ALLOW_ROW_LOCKS:
48972 case ALL_SPARSE_COLUMNS:
48973 case BUCKET_COUNT:
48974 case COLUMNSTORE_ARCHIVE:
48975 case COLUMN_ENCRYPTION_KEY:
48976 case COLUMN_SET:
48977 case COMPRESSION_DELAY:
48978 case DATABASE_DEAULT:
48979 case DATA_COMPRESSION:
48980 case DATA_CONSISTENCY_CHECK:
48981 case ENCRYPTION_TYPE:
48982 case SYSTEM_TIME:
48983 case SYSTEM_VERSIONING:
48984 case TEXTIMAGE_ON:
48985 case WAIT_AT_LOW_PRIORITY:
48986 case STATISTICS_INCREMENTAL:
48987 case STATISTICS_NORECOMPUTE:
48988 case ROUND_ROBIN:
48989 case SCHEMA_AND_DATA:
48990 case SCHEMA_ONLY:
48991 case SORT_IN_TEMPDB:
48992 case IGNORE_DUP_KEY:
48993 case IMPLICIT_TRANSACTIONS:
48994 case MAX_DURATION:
48995 case MEMORY_OPTIMIZED:
48996 case MIGRATION_STATE:
48997 case PAD_INDEX:
48998 case REMOTE_DATA_ARCHIVE:
48999 case FILESTREAM_ON:
49000 case FILETABLE_COLLATE_FILENAME:
49001 case FILETABLE_DIRECTORY:
49002 case FILETABLE_FULLPATH_UNIQUE_CONSTRAINT_NAME:
49003 case FILETABLE_PRIMARY_KEY_CONSTRAINT_NAME:
49004 case FILETABLE_STREAMID_UNIQUE_CONSTRAINT_NAME:
49005 case FILTER_PREDICATE:
49006 case HISTORY_RETENTION_PERIOD:
49007 case HISTORY_TABLE:
49008 case LOCK_ESCALATION:
49009 case DROP_EXISTING:
49010 case ROW_NUMBER:
49011 case FIRST:
49012 case DATETIME2:
49013 case OUTPUT:
49014 case INSERTED:
49015 case DELETED:
49016 case FILENAME:
49017 case MAXSIZE:
49018 case FILEGROWTH:
49019 case UNLIMITED:
49020 case KB:
49021 case MB:
49022 case GB:
49023 case TB:
49024 case MEMORY_OPTIMIZED_DATA:
49025 case FILEGROUP:
49026 case NON_TRANSACTED_ACCESS:
49027 case DB_CHAINING:
49028 case TRUSTWORTHY:
49029 case FORWARD_ONLY:
49030 case KEYSET:
49031 case FAST_FORWARD:
49032 case SCROLL_LOCKS:
49033 case OPTIMISTIC:
49034 case TYPE_WARNING:
49035 case SCHEMABINDING:
49036 case CALLER:
49037 case OWNER:
49038 case SNAPSHOT:
49039 case REPEATABLE:
49040 case SERIALIZABLE:
49041 case NATIVE_COMPILATION:
49042 case VIEW_METADATA:
49043 case INSTEAD:
49044 case APPEND:
49045 case INCREMENT:
49046 case CACHE:
49047 case MINVALUE:
49048 case MAXVALUE:
49049 case RESTART:
49050 case LOB_COMPACTION:
49051 case COMPRESS_ALL_ROW_GROUPS:
49052 case REORGANIZE:
49053 case RESUME:
49054 case PAUSE:
49055 case ABORT:
49056 case ACCELERATED_DATABASE_RECOVERY:
49057 case PERSISTENT_VERSION_STORE_FILEGROUP:
49058 case IMMEDIATE:
49059 case NO_WAIT:
49060 case TARGET_RECOVERY_TIME:
49061 case SECONDS:
49062 case HONOR_BROKER_PRIORITY:
49063 case ERROR_BROKER_CONVERSATIONS:
49064 case NEW_BROKER:
49065 case DISABLE_BROKER:
49066 case ENABLE_BROKER:
49067 case MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT:
49068 case READ_COMMITTED_SNAPSHOT:
49069 case ALLOW_SNAPSHOT_ISOLATION:
49070 case RECURSIVE_TRIGGERS:
49071 case QUOTED_IDENTIFIER:
49072 case NUMERIC_ROUNDABORT:
49073 case CONCAT_NULL_YIELDS_NULL:
49074 case COMPATIBILITY_LEVEL:
49075 case ARITHABORT:
49076 case ANSI_WARNINGS:
49077 case ANSI_PADDING:
49078 case ANSI_NULLS:
49079 case ANSI_NULL_DEFAULT:
49080 case PAGE_VERIFY:
49081 case CHECKSUM:
49082 case TORN_PAGE_DETECTION:
49083 case BULK_LOGGED:
49084 case RECOVERY:
49085 case TOTAL_EXECUTION_CPU_TIME_MS:
49086 case TOTAL_COMPILE_CPU_TIME_MS:
49087 case STALE_CAPTURE_POLICY_THRESHOLD:
49088 case EXECUTION_COUNT:
49089 case QUERY_CAPTURE_POLICY:
49090 case WAIT_STATS_CAPTURE_MODE:
49091 case MAX_PLANS_PER_QUERY:
49092 case QUERY_CAPTURE_MODE:
49093 case SIZE_BASED_CLEANUP_MODE:
49094 case INTERVAL_LENGTH_MINUTES:
49095 case MAX_STORAGE_SIZE_MB:
49096 case DATA_FLUSH_INTERVAL_SECONDS:
49097 case CLEANUP_POLICY:
49098 case CUSTOM:
49099 case STALE_QUERY_THRESHOLD_DAYS:
49100 case OPERATION_MODE:
49101 case QUERY_STORE:
49102 case CURSOR_DEFAULT:
49103 case GLOBAL:
49104 case CURSOR_CLOSE_ON_COMMIT:
49105 case HOURS:
49106 case CHANGE_RETENTION:
49107 case AUTO_CLEANUP:
49108 case CHANGE_TRACKING:
49109 case AUTOMATIC_TUNING:
49110 case FORCE_LAST_GOOD_PLAN:
49111 case AUTO_UPDATE_STATISTICS_ASYNC:
49112 case AUTO_UPDATE_STATISTICS:
49113 case AUTO_SHRINK:
49114 case AUTO_CREATE_STATISTICS:
49115 case INCREMENTAL:
49116 case AUTO_CLOSE:
49117 case DATA_RETENTION:
49118 case TEMPORAL_HISTORY_RETENTION:
49119 case EDITION:
49120 case MIXED_PAGE_ALLOCATION:
49121 case DISABLED:
49122 case ALLOWED:
49123 case HADR:
49124 case MULTI_USER:
49125 case RESTRICTED_USER:
49126 case SINGLE_USER:
49127 case OFFLINE:
49128 case EMERGENCY:
49129 case SUSPEND:
49130 case DATE_CORRELATION_OPTIMIZATION:
49131 case ELASTIC_POOL:
49132 case SERVICE_OBJECTIVE:
49133 case DATABASE_NAME:
49134 case ALLOW_CONNECTIONS:
49135 case GEO:
49136 case NAMED:
49137 case DATEFIRST:
49138 case BACKUP_STORAGE_REDUNDANCY:
49139 case FORCE_FAILOVER_ALLOW_DATA_LOSS:
49140 case SECONDARY:
49141 case FAILOVER:
49142 case DEFAULT_FULLTEXT_LANGUAGE:
49143 case DEFAULT_LANGUAGE:
49144 case INLINE:
49145 case NESTED_TRIGGERS:
49146 case TRANSFORM_NOISE_WORDS:
49147 case TWO_DIGIT_YEAR_CUTOFF:
49148 case PERSISTENT_LOG_BUFFER:
49149 case DIRECTORY_NAME:
49150 case DATEFORMAT:
49151 case DELAYED_DURABILITY:
49152 case AUTHORIZATION:
49153 case TRANSFER:
49154 case SEARCH:
49155 case MEMBER:
49156 case IDENTIFIER_:
49157 case DELIMITED_IDENTIFIER_:
49158 {
49159 setState(6547);
49160 identifier();
49161 }
49162 break;
49163 default:
49164 throw new NoViableAltException(this);
49165 }
49166 }
49167 break;
49168 case ALLOW_ENCRYPTED_VALUE_MODIFICATIONS:
49169 enterOuterAlt(_localctx, 6);
49170 {
49171 setState(6550);
49172 match(ALLOW_ENCRYPTED_VALUE_MODIFICATIONS);
49173 setState(6551);
49174 match(EQ_);
49175 setState(6553);
49176 _errHandler.sync(this);
49177 _la = _input.LA(1);
49178 if (_la==ON || _la==OFF) {
49179 {
49180 setState(6552);
49181 _la = _input.LA(1);
49182 if ( !(_la==ON || _la==OFF) ) {
49183 _errHandler.recoverInline(this);
49184 }
49185 else {
49186 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
49187 _errHandler.reportMatch(this);
49188 consume();
49189 }
49190 }
49191 }
49192
49193 }
49194 break;
49195 default:
49196 throw new NoViableAltException(this);
49197 }
49198 }
49199 catch (RecognitionException re) {
49200 _localctx.exception = re;
49201 _errHandler.reportError(this, re);
49202 _errHandler.recover(this, re);
49203 }
49204 finally {
49205 exitRule();
49206 }
49207 return _localctx;
49208 }
49209
49210 public static class CreateRoleContext extends ParserRuleContext {
49211 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
49212 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
49213 public List<NameContext> name() {
49214 return getRuleContexts(NameContext.class);
49215 }
49216 public NameContext name(int i) {
49217 return getRuleContext(NameContext.class,i);
49218 }
49219 public TerminalNode AUTHORIZATION() { return getToken(SQLServerStatementParser.AUTHORIZATION, 0); }
49220 public CreateRoleContext(ParserRuleContext parent, int invokingState) {
49221 super(parent, invokingState);
49222 }
49223 @Override public int getRuleIndex() { return RULE_createRole; }
49224 @Override
49225 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49226 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateRole(this);
49227 else return visitor.visitChildren(this);
49228 }
49229 }
49230
49231 public final CreateRoleContext createRole() throws RecognitionException {
49232 CreateRoleContext _localctx = new CreateRoleContext(_ctx, getState());
49233 enterRule(_localctx, 902, RULE_createRole);
49234 int _la;
49235 try {
49236 enterOuterAlt(_localctx, 1);
49237 {
49238 setState(6557);
49239 match(CREATE);
49240 setState(6558);
49241 match(ROLE);
49242 setState(6559);
49243 name();
49244 setState(6562);
49245 _errHandler.sync(this);
49246 _la = _input.LA(1);
49247 if (_la==AUTHORIZATION) {
49248 {
49249 setState(6560);
49250 match(AUTHORIZATION);
49251 setState(6561);
49252 name();
49253 }
49254 }
49255
49256 }
49257 }
49258 catch (RecognitionException re) {
49259 _localctx.exception = re;
49260 _errHandler.reportError(this, re);
49261 _errHandler.recover(this, re);
49262 }
49263 finally {
49264 exitRule();
49265 }
49266 return _localctx;
49267 }
49268
49269 public static class DropRoleContext extends ParserRuleContext {
49270 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
49271 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
49272 public NameContext name() {
49273 return getRuleContext(NameContext.class,0);
49274 }
49275 public IfExistsContext ifExists() {
49276 return getRuleContext(IfExistsContext.class,0);
49277 }
49278 public DropRoleContext(ParserRuleContext parent, int invokingState) {
49279 super(parent, invokingState);
49280 }
49281 @Override public int getRuleIndex() { return RULE_dropRole; }
49282 @Override
49283 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49284 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropRole(this);
49285 else return visitor.visitChildren(this);
49286 }
49287 }
49288
49289 public final DropRoleContext dropRole() throws RecognitionException {
49290 DropRoleContext _localctx = new DropRoleContext(_ctx, getState());
49291 enterRule(_localctx, 904, RULE_dropRole);
49292 int _la;
49293 try {
49294 enterOuterAlt(_localctx, 1);
49295 {
49296 setState(6564);
49297 match(DROP);
49298 setState(6565);
49299 match(ROLE);
49300 setState(6567);
49301 _errHandler.sync(this);
49302 _la = _input.LA(1);
49303 if (_la==IF) {
49304 {
49305 setState(6566);
49306 ifExists();
49307 }
49308 }
49309
49310 setState(6569);
49311 name();
49312 }
49313 }
49314 catch (RecognitionException re) {
49315 _localctx.exception = re;
49316 _errHandler.reportError(this, re);
49317 _errHandler.recover(this, re);
49318 }
49319 finally {
49320 exitRule();
49321 }
49322 return _localctx;
49323 }
49324
49325 public static class AlterRoleContext extends ParserRuleContext {
49326 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
49327 public TerminalNode ROLE() { return getToken(SQLServerStatementParser.ROLE, 0); }
49328 public List<NameContext> name() {
49329 return getRuleContexts(NameContext.class);
49330 }
49331 public NameContext name(int i) {
49332 return getRuleContext(NameContext.class,i);
49333 }
49334 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
49335 public TerminalNode MEMBER() { return getToken(SQLServerStatementParser.MEMBER, 0); }
49336 public PrincipalContext principal() {
49337 return getRuleContext(PrincipalContext.class,0);
49338 }
49339 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
49340 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
49341 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
49342 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
49343 public AlterRoleContext(ParserRuleContext parent, int invokingState) {
49344 super(parent, invokingState);
49345 }
49346 @Override public int getRuleIndex() { return RULE_alterRole; }
49347 @Override
49348 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49349 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterRole(this);
49350 else return visitor.visitChildren(this);
49351 }
49352 }
49353
49354 public final AlterRoleContext alterRole() throws RecognitionException {
49355 AlterRoleContext _localctx = new AlterRoleContext(_ctx, getState());
49356 enterRule(_localctx, 906, RULE_alterRole);
49357 try {
49358 enterOuterAlt(_localctx, 1);
49359 {
49360 setState(6571);
49361 match(ALTER);
49362 setState(6572);
49363 match(ROLE);
49364 setState(6573);
49365 name();
49366 setState(6584);
49367 _errHandler.sync(this);
49368 switch (_input.LA(1)) {
49369 case ADD:
49370 {
49371 setState(6574);
49372 match(ADD);
49373 setState(6575);
49374 match(MEMBER);
49375 setState(6576);
49376 principal();
49377 }
49378 break;
49379 case DROP:
49380 {
49381 setState(6577);
49382 match(DROP);
49383 setState(6578);
49384 match(MEMBER);
49385 setState(6579);
49386 principal();
49387 }
49388 break;
49389 case WITH:
49390 {
49391 setState(6580);
49392 match(WITH);
49393 setState(6581);
49394 match(NAME);
49395 setState(6582);
49396 match(EQ_);
49397 setState(6583);
49398 name();
49399 }
49400 break;
49401 default:
49402 throw new NoViableAltException(this);
49403 }
49404 }
49405 }
49406 catch (RecognitionException re) {
49407 _localctx.exception = re;
49408 _errHandler.reportError(this, re);
49409 _errHandler.recover(this, re);
49410 }
49411 finally {
49412 exitRule();
49413 }
49414 return _localctx;
49415 }
49416
49417 public static class CreateLoginContext extends ParserRuleContext {
49418 public TerminalNode CREATE() { return getToken(SQLServerStatementParser.CREATE, 0); }
49419 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
49420 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
49421 return getRuleContext(IgnoredNameIdentifierContext.class,0);
49422 }
49423 public CreateLoginForSQLServerClauseContext createLoginForSQLServerClause() {
49424 return getRuleContext(CreateLoginForSQLServerClauseContext.class,0);
49425 }
49426 public CreateLoginForAzureSQLDatabaseClauseContext createLoginForAzureSQLDatabaseClause() {
49427 return getRuleContext(CreateLoginForAzureSQLDatabaseClauseContext.class,0);
49428 }
49429 public CreateLoginForAzureManagedInstanceClauseContext createLoginForAzureManagedInstanceClause() {
49430 return getRuleContext(CreateLoginForAzureManagedInstanceClauseContext.class,0);
49431 }
49432 public CreateLoginForAzureSynapseAnalyticsClauseContext createLoginForAzureSynapseAnalyticsClause() {
49433 return getRuleContext(CreateLoginForAzureSynapseAnalyticsClauseContext.class,0);
49434 }
49435 public CreateLoginForAnalyticsPlatformSystemClauseContext createLoginForAnalyticsPlatformSystemClause() {
49436 return getRuleContext(CreateLoginForAnalyticsPlatformSystemClauseContext.class,0);
49437 }
49438 public CreateLoginContext(ParserRuleContext parent, int invokingState) {
49439 super(parent, invokingState);
49440 }
49441 @Override public int getRuleIndex() { return RULE_createLogin; }
49442 @Override
49443 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49444 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLogin(this);
49445 else return visitor.visitChildren(this);
49446 }
49447 }
49448
49449 public final CreateLoginContext createLogin() throws RecognitionException {
49450 CreateLoginContext _localctx = new CreateLoginContext(_ctx, getState());
49451 enterRule(_localctx, 908, RULE_createLogin);
49452 try {
49453 enterOuterAlt(_localctx, 1);
49454 {
49455 setState(6586);
49456 match(CREATE);
49457 setState(6587);
49458 match(LOGIN);
49459 setState(6588);
49460 ignoredNameIdentifier();
49461 setState(6594);
49462 _errHandler.sync(this);
49463 switch ( getInterpreter().adaptivePredict(_input,754,_ctx) ) {
49464 case 1:
49465 {
49466 setState(6589);
49467 createLoginForSQLServerClause();
49468 }
49469 break;
49470 case 2:
49471 {
49472 setState(6590);
49473 createLoginForAzureSQLDatabaseClause();
49474 }
49475 break;
49476 case 3:
49477 {
49478 setState(6591);
49479 createLoginForAzureManagedInstanceClause();
49480 }
49481 break;
49482 case 4:
49483 {
49484 setState(6592);
49485 createLoginForAzureSynapseAnalyticsClause();
49486 }
49487 break;
49488 case 5:
49489 {
49490 setState(6593);
49491 createLoginForAnalyticsPlatformSystemClause();
49492 }
49493 break;
49494 }
49495 }
49496 }
49497 catch (RecognitionException re) {
49498 _localctx.exception = re;
49499 _errHandler.reportError(this, re);
49500 _errHandler.recover(this, re);
49501 }
49502 finally {
49503 exitRule();
49504 }
49505 return _localctx;
49506 }
49507
49508 public static class CreateLoginForSQLServerClauseContext extends ParserRuleContext {
49509 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
49510 public CreateLoginForSQLServerOptionListContext createLoginForSQLServerOptionList() {
49511 return getRuleContext(CreateLoginForSQLServerOptionListContext.class,0);
49512 }
49513 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
49514 public SourcesContext sources() {
49515 return getRuleContext(SourcesContext.class,0);
49516 }
49517 public CreateLoginForSQLServerClauseContext(ParserRuleContext parent, int invokingState) {
49518 super(parent, invokingState);
49519 }
49520 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerClause; }
49521 @Override
49522 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49523 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerClause(this);
49524 else return visitor.visitChildren(this);
49525 }
49526 }
49527
49528 public final CreateLoginForSQLServerClauseContext createLoginForSQLServerClause() throws RecognitionException {
49529 CreateLoginForSQLServerClauseContext _localctx = new CreateLoginForSQLServerClauseContext(_ctx, getState());
49530 enterRule(_localctx, 910, RULE_createLoginForSQLServerClause);
49531 try {
49532 setState(6600);
49533 _errHandler.sync(this);
49534 switch (_input.LA(1)) {
49535 case WITH:
49536 enterOuterAlt(_localctx, 1);
49537 {
49538 setState(6596);
49539 match(WITH);
49540 setState(6597);
49541 createLoginForSQLServerOptionList();
49542 }
49543 break;
49544 case FROM:
49545 enterOuterAlt(_localctx, 2);
49546 {
49547 setState(6598);
49548 match(FROM);
49549 setState(6599);
49550 sources();
49551 }
49552 break;
49553 default:
49554 throw new NoViableAltException(this);
49555 }
49556 }
49557 catch (RecognitionException re) {
49558 _localctx.exception = re;
49559 _errHandler.reportError(this, re);
49560 _errHandler.recover(this, re);
49561 }
49562 finally {
49563 exitRule();
49564 }
49565 return _localctx;
49566 }
49567
49568 public static class CreateLoginForSQLServerOptionListContext extends ParserRuleContext {
49569 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
49570 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
49571 public StringLiteralsContext stringLiterals() {
49572 return getRuleContext(StringLiteralsContext.class,0);
49573 }
49574 public HashedPasswordContext hashedPassword() {
49575 return getRuleContext(HashedPasswordContext.class,0);
49576 }
49577 public TerminalNode HASHED() { return getToken(SQLServerStatementParser.HASHED, 0); }
49578 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
49579 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
49580 public TerminalNode COMMA_(int i) {
49581 return getToken(SQLServerStatementParser.COMMA_, i);
49582 }
49583 public List<CreateLoginForSQLServerOptionListClauseContext> createLoginForSQLServerOptionListClause() {
49584 return getRuleContexts(CreateLoginForSQLServerOptionListClauseContext.class);
49585 }
49586 public CreateLoginForSQLServerOptionListClauseContext createLoginForSQLServerOptionListClause(int i) {
49587 return getRuleContext(CreateLoginForSQLServerOptionListClauseContext.class,i);
49588 }
49589 public CreateLoginForSQLServerOptionListContext(ParserRuleContext parent, int invokingState) {
49590 super(parent, invokingState);
49591 }
49592 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerOptionList; }
49593 @Override
49594 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49595 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerOptionList(this);
49596 else return visitor.visitChildren(this);
49597 }
49598 }
49599
49600 public final CreateLoginForSQLServerOptionListContext createLoginForSQLServerOptionList() throws RecognitionException {
49601 CreateLoginForSQLServerOptionListContext _localctx = new CreateLoginForSQLServerOptionListContext(_ctx, getState());
49602 enterRule(_localctx, 912, RULE_createLoginForSQLServerOptionList);
49603 int _la;
49604 try {
49605 enterOuterAlt(_localctx, 1);
49606 {
49607 setState(6602);
49608 match(PASSWORD);
49609 setState(6603);
49610 match(EQ_);
49611 setState(6608);
49612 _errHandler.sync(this);
49613 switch (_input.LA(1)) {
49614 case STRING_:
49615 case NCHAR_TEXT:
49616 {
49617 setState(6604);
49618 stringLiterals();
49619 }
49620 break;
49621 case HEX_DIGIT_:
49622 {
49623 setState(6605);
49624 hashedPassword();
49625 setState(6606);
49626 match(HASHED);
49627 }
49628 break;
49629 default:
49630 throw new NoViableAltException(this);
49631 }
49632 setState(6611);
49633 _errHandler.sync(this);
49634 _la = _input.LA(1);
49635 if (_la==MUST_CHANGE) {
49636 {
49637 setState(6610);
49638 match(MUST_CHANGE);
49639 }
49640 }
49641
49642 setState(6622);
49643 _errHandler.sync(this);
49644 _la = _input.LA(1);
49645 if (_la==COMMA_) {
49646 {
49647 setState(6613);
49648 match(COMMA_);
49649 setState(6614);
49650 createLoginForSQLServerOptionListClause();
49651 setState(6619);
49652 _errHandler.sync(this);
49653 _la = _input.LA(1);
49654 while (_la==COMMA_) {
49655 {
49656 {
49657 setState(6615);
49658 match(COMMA_);
49659 setState(6616);
49660 createLoginForSQLServerOptionListClause();
49661 }
49662 }
49663 setState(6621);
49664 _errHandler.sync(this);
49665 _la = _input.LA(1);
49666 }
49667 }
49668 }
49669
49670 }
49671 }
49672 catch (RecognitionException re) {
49673 _localctx.exception = re;
49674 _errHandler.reportError(this, re);
49675 _errHandler.recover(this, re);
49676 }
49677 finally {
49678 exitRule();
49679 }
49680 return _localctx;
49681 }
49682
49683 public static class CreateLoginForSQLServerOptionListClauseContext extends ParserRuleContext {
49684 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
49685 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
49686 public SidContext sid() {
49687 return getRuleContext(SidContext.class,0);
49688 }
49689 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
49690 public DatabaseNameContext databaseName() {
49691 return getRuleContext(DatabaseNameContext.class,0);
49692 }
49693 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
49694 public IdentifierContext identifier() {
49695 return getRuleContext(IdentifierContext.class,0);
49696 }
49697 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
49698 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
49699 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
49700 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
49701 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
49702 public CreateLoginForSQLServerOptionListClauseContext(ParserRuleContext parent, int invokingState) {
49703 super(parent, invokingState);
49704 }
49705 @Override public int getRuleIndex() { return RULE_createLoginForSQLServerOptionListClause; }
49706 @Override
49707 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49708 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForSQLServerOptionListClause(this);
49709 else return visitor.visitChildren(this);
49710 }
49711 }
49712
49713 public final CreateLoginForSQLServerOptionListClauseContext createLoginForSQLServerOptionListClause() throws RecognitionException {
49714 CreateLoginForSQLServerOptionListClauseContext _localctx = new CreateLoginForSQLServerOptionListClauseContext(_ctx, getState());
49715 enterRule(_localctx, 914, RULE_createLoginForSQLServerOptionListClause);
49716 int _la;
49717 try {
49718 setState(6642);
49719 _errHandler.sync(this);
49720 switch (_input.LA(1)) {
49721 case SID:
49722 enterOuterAlt(_localctx, 1);
49723 {
49724 setState(6624);
49725 match(SID);
49726 setState(6625);
49727 match(EQ_);
49728 setState(6626);
49729 sid();
49730 }
49731 break;
49732 case DEFAULT_DATABASE:
49733 enterOuterAlt(_localctx, 2);
49734 {
49735 setState(6627);
49736 match(DEFAULT_DATABASE);
49737 setState(6628);
49738 match(EQ_);
49739 setState(6629);
49740 databaseName();
49741 }
49742 break;
49743 case DEFAULT_LANGUAGE:
49744 enterOuterAlt(_localctx, 3);
49745 {
49746 setState(6630);
49747 match(DEFAULT_LANGUAGE);
49748 setState(6631);
49749 match(EQ_);
49750 setState(6632);
49751 identifier();
49752 }
49753 break;
49754 case CHECK_EXPIRATION:
49755 enterOuterAlt(_localctx, 4);
49756 {
49757 setState(6633);
49758 match(CHECK_EXPIRATION);
49759 setState(6634);
49760 match(EQ_);
49761 setState(6635);
49762 _la = _input.LA(1);
49763 if ( !(_la==ON || _la==OFF) ) {
49764 _errHandler.recoverInline(this);
49765 }
49766 else {
49767 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
49768 _errHandler.reportMatch(this);
49769 consume();
49770 }
49771 }
49772 break;
49773 case CHECK_POLICY:
49774 enterOuterAlt(_localctx, 5);
49775 {
49776 setState(6636);
49777 match(CHECK_POLICY);
49778 setState(6637);
49779 match(EQ_);
49780 setState(6638);
49781 _la = _input.LA(1);
49782 if ( !(_la==ON || _la==OFF) ) {
49783 _errHandler.recoverInline(this);
49784 }
49785 else {
49786 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
49787 _errHandler.reportMatch(this);
49788 consume();
49789 }
49790 }
49791 break;
49792 case CREDENTIAL:
49793 enterOuterAlt(_localctx, 6);
49794 {
49795 setState(6639);
49796 match(CREDENTIAL);
49797 setState(6640);
49798 match(EQ_);
49799 setState(6641);
49800 identifier();
49801 }
49802 break;
49803 default:
49804 throw new NoViableAltException(this);
49805 }
49806 }
49807 catch (RecognitionException re) {
49808 _localctx.exception = re;
49809 _errHandler.reportError(this, re);
49810 _errHandler.recover(this, re);
49811 }
49812 finally {
49813 exitRule();
49814 }
49815 return _localctx;
49816 }
49817
49818 public static class HashedPasswordContext extends ParserRuleContext {
49819 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
49820 public HashedPasswordContext(ParserRuleContext parent, int invokingState) {
49821 super(parent, invokingState);
49822 }
49823 @Override public int getRuleIndex() { return RULE_hashedPassword; }
49824 @Override
49825 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49826 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitHashedPassword(this);
49827 else return visitor.visitChildren(this);
49828 }
49829 }
49830
49831 public final HashedPasswordContext hashedPassword() throws RecognitionException {
49832 HashedPasswordContext _localctx = new HashedPasswordContext(_ctx, getState());
49833 enterRule(_localctx, 916, RULE_hashedPassword);
49834 try {
49835 enterOuterAlt(_localctx, 1);
49836 {
49837 setState(6644);
49838 match(HEX_DIGIT_);
49839 }
49840 }
49841 catch (RecognitionException re) {
49842 _localctx.exception = re;
49843 _errHandler.reportError(this, re);
49844 _errHandler.recover(this, re);
49845 }
49846 finally {
49847 exitRule();
49848 }
49849 return _localctx;
49850 }
49851
49852 public static class SidContext extends ParserRuleContext {
49853 public TerminalNode NCHAR_TEXT() { return getToken(SQLServerStatementParser.NCHAR_TEXT, 0); }
49854 public TerminalNode HEX_DIGIT_() { return getToken(SQLServerStatementParser.HEX_DIGIT_, 0); }
49855 public SidContext(ParserRuleContext parent, int invokingState) {
49856 super(parent, invokingState);
49857 }
49858 @Override public int getRuleIndex() { return RULE_sid; }
49859 @Override
49860 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49861 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSid(this);
49862 else return visitor.visitChildren(this);
49863 }
49864 }
49865
49866 public final SidContext sid() throws RecognitionException {
49867 SidContext _localctx = new SidContext(_ctx, getState());
49868 enterRule(_localctx, 918, RULE_sid);
49869 int _la;
49870 try {
49871 enterOuterAlt(_localctx, 1);
49872 {
49873 setState(6646);
49874 _la = _input.LA(1);
49875 if ( !(_la==HEX_DIGIT_ || _la==NCHAR_TEXT) ) {
49876 _errHandler.recoverInline(this);
49877 }
49878 else {
49879 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
49880 _errHandler.reportMatch(this);
49881 consume();
49882 }
49883 }
49884 }
49885 catch (RecognitionException re) {
49886 _localctx.exception = re;
49887 _errHandler.reportError(this, re);
49888 _errHandler.recover(this, re);
49889 }
49890 finally {
49891 exitRule();
49892 }
49893 return _localctx;
49894 }
49895
49896 public static class SourcesContext extends ParserRuleContext {
49897 public TerminalNode WINDOWS() { return getToken(SQLServerStatementParser.WINDOWS, 0); }
49898 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
49899 public List<WindowsOptionsContext> windowsOptions() {
49900 return getRuleContexts(WindowsOptionsContext.class);
49901 }
49902 public WindowsOptionsContext windowsOptions(int i) {
49903 return getRuleContext(WindowsOptionsContext.class,i);
49904 }
49905 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
49906 public TerminalNode COMMA_(int i) {
49907 return getToken(SQLServerStatementParser.COMMA_, i);
49908 }
49909 public TerminalNode CERTIFICATE() { return getToken(SQLServerStatementParser.CERTIFICATE, 0); }
49910 public IdentifierContext identifier() {
49911 return getRuleContext(IdentifierContext.class,0);
49912 }
49913 public TerminalNode ASYMMETRIC() { return getToken(SQLServerStatementParser.ASYMMETRIC, 0); }
49914 public TerminalNode KEY() { return getToken(SQLServerStatementParser.KEY, 0); }
49915 public SourcesContext(ParserRuleContext parent, int invokingState) {
49916 super(parent, invokingState);
49917 }
49918 @Override public int getRuleIndex() { return RULE_sources; }
49919 @Override
49920 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
49921 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSources(this);
49922 else return visitor.visitChildren(this);
49923 }
49924 }
49925
49926 public final SourcesContext sources() throws RecognitionException {
49927 SourcesContext _localctx = new SourcesContext(_ctx, getState());
49928 enterRule(_localctx, 920, RULE_sources);
49929 int _la;
49930 try {
49931 setState(6665);
49932 _errHandler.sync(this);
49933 switch (_input.LA(1)) {
49934 case WINDOWS:
49935 enterOuterAlt(_localctx, 1);
49936 {
49937 setState(6648);
49938 match(WINDOWS);
49939 setState(6658);
49940 _errHandler.sync(this);
49941 _la = _input.LA(1);
49942 if (_la==WITH) {
49943 {
49944 setState(6649);
49945 match(WITH);
49946 setState(6650);
49947 windowsOptions();
49948 setState(6655);
49949 _errHandler.sync(this);
49950 _la = _input.LA(1);
49951 while (_la==COMMA_) {
49952 {
49953 {
49954 setState(6651);
49955 match(COMMA_);
49956 setState(6652);
49957 windowsOptions();
49958 }
49959 }
49960 setState(6657);
49961 _errHandler.sync(this);
49962 _la = _input.LA(1);
49963 }
49964 }
49965 }
49966
49967 }
49968 break;
49969 case CERTIFICATE:
49970 enterOuterAlt(_localctx, 2);
49971 {
49972 setState(6660);
49973 match(CERTIFICATE);
49974 setState(6661);
49975 identifier();
49976 }
49977 break;
49978 case ASYMMETRIC:
49979 enterOuterAlt(_localctx, 3);
49980 {
49981 setState(6662);
49982 match(ASYMMETRIC);
49983 setState(6663);
49984 match(KEY);
49985 setState(6664);
49986 identifier();
49987 }
49988 break;
49989 default:
49990 throw new NoViableAltException(this);
49991 }
49992 }
49993 catch (RecognitionException re) {
49994 _localctx.exception = re;
49995 _errHandler.reportError(this, re);
49996 _errHandler.recover(this, re);
49997 }
49998 finally {
49999 exitRule();
50000 }
50001 return _localctx;
50002 }
50003
50004 public static class WindowsOptionsContext extends ParserRuleContext {
50005 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
50006 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50007 public DatabaseNameContext databaseName() {
50008 return getRuleContext(DatabaseNameContext.class,0);
50009 }
50010 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
50011 public IdentifierContext identifier() {
50012 return getRuleContext(IdentifierContext.class,0);
50013 }
50014 public WindowsOptionsContext(ParserRuleContext parent, int invokingState) {
50015 super(parent, invokingState);
50016 }
50017 @Override public int getRuleIndex() { return RULE_windowsOptions; }
50018 @Override
50019 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50020 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitWindowsOptions(this);
50021 else return visitor.visitChildren(this);
50022 }
50023 }
50024
50025 public final WindowsOptionsContext windowsOptions() throws RecognitionException {
50026 WindowsOptionsContext _localctx = new WindowsOptionsContext(_ctx, getState());
50027 enterRule(_localctx, 922, RULE_windowsOptions);
50028 try {
50029 setState(6673);
50030 _errHandler.sync(this);
50031 switch (_input.LA(1)) {
50032 case DEFAULT_DATABASE:
50033 enterOuterAlt(_localctx, 1);
50034 {
50035 setState(6667);
50036 match(DEFAULT_DATABASE);
50037 setState(6668);
50038 match(EQ_);
50039 setState(6669);
50040 databaseName();
50041 }
50042 break;
50043 case DEFAULT_LANGUAGE:
50044 enterOuterAlt(_localctx, 2);
50045 {
50046 setState(6670);
50047 match(DEFAULT_LANGUAGE);
50048 setState(6671);
50049 match(EQ_);
50050 setState(6672);
50051 identifier();
50052 }
50053 break;
50054 default:
50055 throw new NoViableAltException(this);
50056 }
50057 }
50058 catch (RecognitionException re) {
50059 _localctx.exception = re;
50060 _errHandler.reportError(this, re);
50061 _errHandler.recover(this, re);
50062 }
50063 finally {
50064 exitRule();
50065 }
50066 return _localctx;
50067 }
50068
50069 public static class CreateLoginForAzureSQLDatabaseClauseContext extends ParserRuleContext {
50070 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50071 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
50072 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
50073 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50074 public List<CreateLoginForAzureSQLDatabaseOptionListContext> createLoginForAzureSQLDatabaseOptionList() {
50075 return getRuleContexts(CreateLoginForAzureSQLDatabaseOptionListContext.class);
50076 }
50077 public CreateLoginForAzureSQLDatabaseOptionListContext createLoginForAzureSQLDatabaseOptionList(int i) {
50078 return getRuleContext(CreateLoginForAzureSQLDatabaseOptionListContext.class,i);
50079 }
50080 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
50081 public TerminalNode COMMA_(int i) {
50082 return getToken(SQLServerStatementParser.COMMA_, i);
50083 }
50084 public CreateLoginForAzureSQLDatabaseClauseContext(ParserRuleContext parent, int invokingState) {
50085 super(parent, invokingState);
50086 }
50087 @Override public int getRuleIndex() { return RULE_createLoginForAzureSQLDatabaseClause; }
50088 @Override
50089 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50090 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSQLDatabaseClause(this);
50091 else return visitor.visitChildren(this);
50092 }
50093 }
50094
50095 public final CreateLoginForAzureSQLDatabaseClauseContext createLoginForAzureSQLDatabaseClause() throws RecognitionException {
50096 CreateLoginForAzureSQLDatabaseClauseContext _localctx = new CreateLoginForAzureSQLDatabaseClauseContext(_ctx, getState());
50097 enterRule(_localctx, 924, RULE_createLoginForAzureSQLDatabaseClause);
50098 int _la;
50099 try {
50100 setState(6687);
50101 _errHandler.sync(this);
50102 switch (_input.LA(1)) {
50103 case FROM:
50104 enterOuterAlt(_localctx, 1);
50105 {
50106 setState(6675);
50107 match(FROM);
50108 setState(6676);
50109 match(EXTERNAL);
50110 setState(6677);
50111 match(PROVIDER);
50112 }
50113 break;
50114 case WITH:
50115 enterOuterAlt(_localctx, 2);
50116 {
50117 setState(6678);
50118 match(WITH);
50119 setState(6679);
50120 createLoginForAzureSQLDatabaseOptionList();
50121 setState(6684);
50122 _errHandler.sync(this);
50123 _la = _input.LA(1);
50124 while (_la==COMMA_) {
50125 {
50126 {
50127 setState(6680);
50128 match(COMMA_);
50129 setState(6681);
50130 createLoginForAzureSQLDatabaseOptionList();
50131 }
50132 }
50133 setState(6686);
50134 _errHandler.sync(this);
50135 _la = _input.LA(1);
50136 }
50137 }
50138 break;
50139 default:
50140 throw new NoViableAltException(this);
50141 }
50142 }
50143 catch (RecognitionException re) {
50144 _localctx.exception = re;
50145 _errHandler.reportError(this, re);
50146 _errHandler.recover(this, re);
50147 }
50148 finally {
50149 exitRule();
50150 }
50151 return _localctx;
50152 }
50153
50154 public static class CreateLoginForAzureSQLDatabaseOptionListContext extends ParserRuleContext {
50155 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
50156 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
50157 public TerminalNode EQ_(int i) {
50158 return getToken(SQLServerStatementParser.EQ_, i);
50159 }
50160 public StringLiteralsContext stringLiterals() {
50161 return getRuleContext(StringLiteralsContext.class,0);
50162 }
50163 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
50164 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
50165 public SidContext sid() {
50166 return getRuleContext(SidContext.class,0);
50167 }
50168 public CreateLoginForAzureSQLDatabaseOptionListContext(ParserRuleContext parent, int invokingState) {
50169 super(parent, invokingState);
50170 }
50171 @Override public int getRuleIndex() { return RULE_createLoginForAzureSQLDatabaseOptionList; }
50172 @Override
50173 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50174 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSQLDatabaseOptionList(this);
50175 else return visitor.visitChildren(this);
50176 }
50177 }
50178
50179 public final CreateLoginForAzureSQLDatabaseOptionListContext createLoginForAzureSQLDatabaseOptionList() throws RecognitionException {
50180 CreateLoginForAzureSQLDatabaseOptionListContext _localctx = new CreateLoginForAzureSQLDatabaseOptionListContext(_ctx, getState());
50181 enterRule(_localctx, 926, RULE_createLoginForAzureSQLDatabaseOptionList);
50182 try {
50183 enterOuterAlt(_localctx, 1);
50184 {
50185 setState(6689);
50186 match(PASSWORD);
50187 setState(6690);
50188 match(EQ_);
50189 setState(6691);
50190 stringLiterals();
50191 setState(6696);
50192 _errHandler.sync(this);
50193 switch ( getInterpreter().adaptivePredict(_input,767,_ctx) ) {
50194 case 1:
50195 {
50196 setState(6692);
50197 match(COMMA_);
50198 setState(6693);
50199 match(SID);
50200 setState(6694);
50201 match(EQ_);
50202 setState(6695);
50203 sid();
50204 }
50205 break;
50206 }
50207 }
50208 }
50209 catch (RecognitionException re) {
50210 _localctx.exception = re;
50211 _errHandler.reportError(this, re);
50212 _errHandler.recover(this, re);
50213 }
50214 finally {
50215 exitRule();
50216 }
50217 return _localctx;
50218 }
50219
50220 public static class CreateLoginForAzureManagedInstanceClauseContext extends ParserRuleContext {
50221 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50222 public List<AzureManagedInstanceOptionListContext> azureManagedInstanceOptionList() {
50223 return getRuleContexts(AzureManagedInstanceOptionListContext.class);
50224 }
50225 public AzureManagedInstanceOptionListContext azureManagedInstanceOptionList(int i) {
50226 return getRuleContext(AzureManagedInstanceOptionListContext.class,i);
50227 }
50228 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50229 public TerminalNode EXTERNAL() { return getToken(SQLServerStatementParser.EXTERNAL, 0); }
50230 public TerminalNode PROVIDER() { return getToken(SQLServerStatementParser.PROVIDER, 0); }
50231 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
50232 public TerminalNode COMMA_(int i) {
50233 return getToken(SQLServerStatementParser.COMMA_, i);
50234 }
50235 public CreateLoginForAzureManagedInstanceClauseContext(ParserRuleContext parent, int invokingState) {
50236 super(parent, invokingState);
50237 }
50238 @Override public int getRuleIndex() { return RULE_createLoginForAzureManagedInstanceClause; }
50239 @Override
50240 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50241 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureManagedInstanceClause(this);
50242 else return visitor.visitChildren(this);
50243 }
50244 }
50245
50246 public final CreateLoginForAzureManagedInstanceClauseContext createLoginForAzureManagedInstanceClause() throws RecognitionException {
50247 CreateLoginForAzureManagedInstanceClauseContext _localctx = new CreateLoginForAzureManagedInstanceClauseContext(_ctx, getState());
50248 enterRule(_localctx, 928, RULE_createLoginForAzureManagedInstanceClause);
50249 int _la;
50250 try {
50251 enterOuterAlt(_localctx, 1);
50252 {
50253 setState(6701);
50254 _errHandler.sync(this);
50255 _la = _input.LA(1);
50256 if (_la==FROM) {
50257 {
50258 setState(6698);
50259 match(FROM);
50260 setState(6699);
50261 match(EXTERNAL);
50262 setState(6700);
50263 match(PROVIDER);
50264 }
50265 }
50266
50267 setState(6703);
50268 match(WITH);
50269 setState(6704);
50270 azureManagedInstanceOptionList();
50271 setState(6709);
50272 _errHandler.sync(this);
50273 _la = _input.LA(1);
50274 while (_la==COMMA_) {
50275 {
50276 {
50277 setState(6705);
50278 match(COMMA_);
50279 setState(6706);
50280 azureManagedInstanceOptionList();
50281 }
50282 }
50283 setState(6711);
50284 _errHandler.sync(this);
50285 _la = _input.LA(1);
50286 }
50287 }
50288 }
50289 catch (RecognitionException re) {
50290 _localctx.exception = re;
50291 _errHandler.reportError(this, re);
50292 _errHandler.recover(this, re);
50293 }
50294 finally {
50295 exitRule();
50296 }
50297 return _localctx;
50298 }
50299
50300 public static class AzureManagedInstanceOptionListContext extends ParserRuleContext {
50301 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
50302 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50303 public StringLiteralsContext stringLiterals() {
50304 return getRuleContext(StringLiteralsContext.class,0);
50305 }
50306 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
50307 public SidContext sid() {
50308 return getRuleContext(SidContext.class,0);
50309 }
50310 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
50311 public DatabaseNameContext databaseName() {
50312 return getRuleContext(DatabaseNameContext.class,0);
50313 }
50314 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
50315 public IdentifierContext identifier() {
50316 return getRuleContext(IdentifierContext.class,0);
50317 }
50318 public AzureManagedInstanceOptionListContext(ParserRuleContext parent, int invokingState) {
50319 super(parent, invokingState);
50320 }
50321 @Override public int getRuleIndex() { return RULE_azureManagedInstanceOptionList; }
50322 @Override
50323 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50324 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAzureManagedInstanceOptionList(this);
50325 else return visitor.visitChildren(this);
50326 }
50327 }
50328
50329 public final AzureManagedInstanceOptionListContext azureManagedInstanceOptionList() throws RecognitionException {
50330 AzureManagedInstanceOptionListContext _localctx = new AzureManagedInstanceOptionListContext(_ctx, getState());
50331 enterRule(_localctx, 930, RULE_azureManagedInstanceOptionList);
50332 try {
50333 setState(6724);
50334 _errHandler.sync(this);
50335 switch (_input.LA(1)) {
50336 case PASSWORD:
50337 enterOuterAlt(_localctx, 1);
50338 {
50339 setState(6712);
50340 match(PASSWORD);
50341 setState(6713);
50342 match(EQ_);
50343 setState(6714);
50344 stringLiterals();
50345 }
50346 break;
50347 case SID:
50348 enterOuterAlt(_localctx, 2);
50349 {
50350 setState(6715);
50351 match(SID);
50352 setState(6716);
50353 match(EQ_);
50354 setState(6717);
50355 sid();
50356 }
50357 break;
50358 case DEFAULT_DATABASE:
50359 enterOuterAlt(_localctx, 3);
50360 {
50361 setState(6718);
50362 match(DEFAULT_DATABASE);
50363 setState(6719);
50364 match(EQ_);
50365 setState(6720);
50366 databaseName();
50367 }
50368 break;
50369 case DEFAULT_LANGUAGE:
50370 enterOuterAlt(_localctx, 4);
50371 {
50372 setState(6721);
50373 match(DEFAULT_LANGUAGE);
50374 setState(6722);
50375 match(EQ_);
50376 setState(6723);
50377 identifier();
50378 }
50379 break;
50380 default:
50381 throw new NoViableAltException(this);
50382 }
50383 }
50384 catch (RecognitionException re) {
50385 _localctx.exception = re;
50386 _errHandler.reportError(this, re);
50387 _errHandler.recover(this, re);
50388 }
50389 finally {
50390 exitRule();
50391 }
50392 return _localctx;
50393 }
50394
50395 public static class CreateLoginForAzureSynapseAnalyticsClauseContext extends ParserRuleContext {
50396 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50397 public CreateLoginForAzureSynapseAnalyticsOptionListContext createLoginForAzureSynapseAnalyticsOptionList() {
50398 return getRuleContext(CreateLoginForAzureSynapseAnalyticsOptionListContext.class,0);
50399 }
50400 public CreateLoginForAzureSynapseAnalyticsClauseContext(ParserRuleContext parent, int invokingState) {
50401 super(parent, invokingState);
50402 }
50403 @Override public int getRuleIndex() { return RULE_createLoginForAzureSynapseAnalyticsClause; }
50404 @Override
50405 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50406 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSynapseAnalyticsClause(this);
50407 else return visitor.visitChildren(this);
50408 }
50409 }
50410
50411 public final CreateLoginForAzureSynapseAnalyticsClauseContext createLoginForAzureSynapseAnalyticsClause() throws RecognitionException {
50412 CreateLoginForAzureSynapseAnalyticsClauseContext _localctx = new CreateLoginForAzureSynapseAnalyticsClauseContext(_ctx, getState());
50413 enterRule(_localctx, 932, RULE_createLoginForAzureSynapseAnalyticsClause);
50414 try {
50415 enterOuterAlt(_localctx, 1);
50416 {
50417 setState(6726);
50418 match(WITH);
50419 setState(6727);
50420 createLoginForAzureSynapseAnalyticsOptionList();
50421 }
50422 }
50423 catch (RecognitionException re) {
50424 _localctx.exception = re;
50425 _errHandler.reportError(this, re);
50426 _errHandler.recover(this, re);
50427 }
50428 finally {
50429 exitRule();
50430 }
50431 return _localctx;
50432 }
50433
50434 public static class CreateLoginForAzureSynapseAnalyticsOptionListContext extends ParserRuleContext {
50435 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
50436 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
50437 public TerminalNode EQ_(int i) {
50438 return getToken(SQLServerStatementParser.EQ_, i);
50439 }
50440 public StringLiteralsContext stringLiterals() {
50441 return getRuleContext(StringLiteralsContext.class,0);
50442 }
50443 public TerminalNode COMMA_() { return getToken(SQLServerStatementParser.COMMA_, 0); }
50444 public TerminalNode SID() { return getToken(SQLServerStatementParser.SID, 0); }
50445 public SidContext sid() {
50446 return getRuleContext(SidContext.class,0);
50447 }
50448 public CreateLoginForAzureSynapseAnalyticsOptionListContext(ParserRuleContext parent, int invokingState) {
50449 super(parent, invokingState);
50450 }
50451 @Override public int getRuleIndex() { return RULE_createLoginForAzureSynapseAnalyticsOptionList; }
50452 @Override
50453 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50454 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAzureSynapseAnalyticsOptionList(this);
50455 else return visitor.visitChildren(this);
50456 }
50457 }
50458
50459 public final CreateLoginForAzureSynapseAnalyticsOptionListContext createLoginForAzureSynapseAnalyticsOptionList() throws RecognitionException {
50460 CreateLoginForAzureSynapseAnalyticsOptionListContext _localctx = new CreateLoginForAzureSynapseAnalyticsOptionListContext(_ctx, getState());
50461 enterRule(_localctx, 934, RULE_createLoginForAzureSynapseAnalyticsOptionList);
50462 int _la;
50463 try {
50464 enterOuterAlt(_localctx, 1);
50465 {
50466 setState(6729);
50467 match(PASSWORD);
50468 setState(6730);
50469 match(EQ_);
50470 setState(6731);
50471 stringLiterals();
50472 setState(6736);
50473 _errHandler.sync(this);
50474 _la = _input.LA(1);
50475 if (_la==COMMA_) {
50476 {
50477 setState(6732);
50478 match(COMMA_);
50479 setState(6733);
50480 match(SID);
50481 setState(6734);
50482 match(EQ_);
50483 setState(6735);
50484 sid();
50485 }
50486 }
50487
50488 }
50489 }
50490 catch (RecognitionException re) {
50491 _localctx.exception = re;
50492 _errHandler.reportError(this, re);
50493 _errHandler.recover(this, re);
50494 }
50495 finally {
50496 exitRule();
50497 }
50498 return _localctx;
50499 }
50500
50501 public static class CreateLoginForAnalyticsPlatformSystemClauseContext extends ParserRuleContext {
50502 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50503 public CreateLoginForAnalyticsPlatformSystemOptionListContext createLoginForAnalyticsPlatformSystemOptionList() {
50504 return getRuleContext(CreateLoginForAnalyticsPlatformSystemOptionListContext.class,0);
50505 }
50506 public TerminalNode FROM() { return getToken(SQLServerStatementParser.FROM, 0); }
50507 public TerminalNode WINDOWS() { return getToken(SQLServerStatementParser.WINDOWS, 0); }
50508 public CreateLoginForAnalyticsPlatformSystemClauseContext(ParserRuleContext parent, int invokingState) {
50509 super(parent, invokingState);
50510 }
50511 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemClause; }
50512 @Override
50513 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50514 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemClause(this);
50515 else return visitor.visitChildren(this);
50516 }
50517 }
50518
50519 public final CreateLoginForAnalyticsPlatformSystemClauseContext createLoginForAnalyticsPlatformSystemClause() throws RecognitionException {
50520 CreateLoginForAnalyticsPlatformSystemClauseContext _localctx = new CreateLoginForAnalyticsPlatformSystemClauseContext(_ctx, getState());
50521 enterRule(_localctx, 936, RULE_createLoginForAnalyticsPlatformSystemClause);
50522 try {
50523 setState(6742);
50524 _errHandler.sync(this);
50525 switch (_input.LA(1)) {
50526 case WITH:
50527 enterOuterAlt(_localctx, 1);
50528 {
50529 setState(6738);
50530 match(WITH);
50531 setState(6739);
50532 createLoginForAnalyticsPlatformSystemOptionList();
50533 }
50534 break;
50535 case FROM:
50536 enterOuterAlt(_localctx, 2);
50537 {
50538 setState(6740);
50539 match(FROM);
50540 setState(6741);
50541 match(WINDOWS);
50542 }
50543 break;
50544 default:
50545 throw new NoViableAltException(this);
50546 }
50547 }
50548 catch (RecognitionException re) {
50549 _localctx.exception = re;
50550 _errHandler.reportError(this, re);
50551 _errHandler.recover(this, re);
50552 }
50553 finally {
50554 exitRule();
50555 }
50556 return _localctx;
50557 }
50558
50559 public static class CreateLoginForAnalyticsPlatformSystemOptionListContext extends ParserRuleContext {
50560 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
50561 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50562 public StringLiteralsContext stringLiterals() {
50563 return getRuleContext(StringLiteralsContext.class,0);
50564 }
50565 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
50566 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
50567 public TerminalNode COMMA_(int i) {
50568 return getToken(SQLServerStatementParser.COMMA_, i);
50569 }
50570 public List<CreateLoginForAnalyticsPlatformSystemOptionListClauseContext> createLoginForAnalyticsPlatformSystemOptionListClause() {
50571 return getRuleContexts(CreateLoginForAnalyticsPlatformSystemOptionListClauseContext.class);
50572 }
50573 public CreateLoginForAnalyticsPlatformSystemOptionListClauseContext createLoginForAnalyticsPlatformSystemOptionListClause(int i) {
50574 return getRuleContext(CreateLoginForAnalyticsPlatformSystemOptionListClauseContext.class,i);
50575 }
50576 public CreateLoginForAnalyticsPlatformSystemOptionListContext(ParserRuleContext parent, int invokingState) {
50577 super(parent, invokingState);
50578 }
50579 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemOptionList; }
50580 @Override
50581 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50582 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemOptionList(this);
50583 else return visitor.visitChildren(this);
50584 }
50585 }
50586
50587 public final CreateLoginForAnalyticsPlatformSystemOptionListContext createLoginForAnalyticsPlatformSystemOptionList() throws RecognitionException {
50588 CreateLoginForAnalyticsPlatformSystemOptionListContext _localctx = new CreateLoginForAnalyticsPlatformSystemOptionListContext(_ctx, getState());
50589 enterRule(_localctx, 938, RULE_createLoginForAnalyticsPlatformSystemOptionList);
50590 int _la;
50591 try {
50592 enterOuterAlt(_localctx, 1);
50593 {
50594 setState(6744);
50595 match(PASSWORD);
50596 setState(6745);
50597 match(EQ_);
50598 setState(6746);
50599 stringLiterals();
50600 setState(6748);
50601 _errHandler.sync(this);
50602 _la = _input.LA(1);
50603 if (_la==MUST_CHANGE) {
50604 {
50605 setState(6747);
50606 match(MUST_CHANGE);
50607 }
50608 }
50609
50610 setState(6759);
50611 _errHandler.sync(this);
50612 _la = _input.LA(1);
50613 if (_la==COMMA_) {
50614 {
50615 setState(6750);
50616 match(COMMA_);
50617 setState(6751);
50618 createLoginForAnalyticsPlatformSystemOptionListClause();
50619 setState(6756);
50620 _errHandler.sync(this);
50621 _la = _input.LA(1);
50622 while (_la==COMMA_) {
50623 {
50624 {
50625 setState(6752);
50626 match(COMMA_);
50627 setState(6753);
50628 createLoginForAnalyticsPlatformSystemOptionListClause();
50629 }
50630 }
50631 setState(6758);
50632 _errHandler.sync(this);
50633 _la = _input.LA(1);
50634 }
50635 }
50636 }
50637
50638 }
50639 }
50640 catch (RecognitionException re) {
50641 _localctx.exception = re;
50642 _errHandler.reportError(this, re);
50643 _errHandler.recover(this, re);
50644 }
50645 finally {
50646 exitRule();
50647 }
50648 return _localctx;
50649 }
50650
50651 public static class CreateLoginForAnalyticsPlatformSystemOptionListClauseContext extends ParserRuleContext {
50652 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
50653 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
50654 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
50655 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
50656 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
50657 public CreateLoginForAnalyticsPlatformSystemOptionListClauseContext(ParserRuleContext parent, int invokingState) {
50658 super(parent, invokingState);
50659 }
50660 @Override public int getRuleIndex() { return RULE_createLoginForAnalyticsPlatformSystemOptionListClause; }
50661 @Override
50662 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50663 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCreateLoginForAnalyticsPlatformSystemOptionListClause(this);
50664 else return visitor.visitChildren(this);
50665 }
50666 }
50667
50668 public final CreateLoginForAnalyticsPlatformSystemOptionListClauseContext createLoginForAnalyticsPlatformSystemOptionListClause() throws RecognitionException {
50669 CreateLoginForAnalyticsPlatformSystemOptionListClauseContext _localctx = new CreateLoginForAnalyticsPlatformSystemOptionListClauseContext(_ctx, getState());
50670 enterRule(_localctx, 940, RULE_createLoginForAnalyticsPlatformSystemOptionListClause);
50671 int _la;
50672 try {
50673 setState(6767);
50674 _errHandler.sync(this);
50675 switch (_input.LA(1)) {
50676 case CHECK_EXPIRATION:
50677 enterOuterAlt(_localctx, 1);
50678 {
50679 setState(6761);
50680 match(CHECK_EXPIRATION);
50681 setState(6762);
50682 match(EQ_);
50683 setState(6763);
50684 _la = _input.LA(1);
50685 if ( !(_la==ON || _la==OFF) ) {
50686 _errHandler.recoverInline(this);
50687 }
50688 else {
50689 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
50690 _errHandler.reportMatch(this);
50691 consume();
50692 }
50693 }
50694 break;
50695 case CHECK_POLICY:
50696 enterOuterAlt(_localctx, 2);
50697 {
50698 setState(6764);
50699 match(CHECK_POLICY);
50700 setState(6765);
50701 match(EQ_);
50702 setState(6766);
50703 _la = _input.LA(1);
50704 if ( !(_la==ON || _la==OFF) ) {
50705 _errHandler.recoverInline(this);
50706 }
50707 else {
50708 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
50709 _errHandler.reportMatch(this);
50710 consume();
50711 }
50712 }
50713 break;
50714 default:
50715 throw new NoViableAltException(this);
50716 }
50717 }
50718 catch (RecognitionException re) {
50719 _localctx.exception = re;
50720 _errHandler.reportError(this, re);
50721 _errHandler.recover(this, re);
50722 }
50723 finally {
50724 exitRule();
50725 }
50726 return _localctx;
50727 }
50728
50729 public static class DropLoginContext extends ParserRuleContext {
50730 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
50731 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
50732 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
50733 return getRuleContext(IgnoredNameIdentifierContext.class,0);
50734 }
50735 public DropLoginContext(ParserRuleContext parent, int invokingState) {
50736 super(parent, invokingState);
50737 }
50738 @Override public int getRuleIndex() { return RULE_dropLogin; }
50739 @Override
50740 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50741 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitDropLogin(this);
50742 else return visitor.visitChildren(this);
50743 }
50744 }
50745
50746 public final DropLoginContext dropLogin() throws RecognitionException {
50747 DropLoginContext _localctx = new DropLoginContext(_ctx, getState());
50748 enterRule(_localctx, 942, RULE_dropLogin);
50749 try {
50750 enterOuterAlt(_localctx, 1);
50751 {
50752 setState(6769);
50753 match(DROP);
50754 setState(6770);
50755 match(LOGIN);
50756 setState(6771);
50757 ignoredNameIdentifier();
50758 }
50759 }
50760 catch (RecognitionException re) {
50761 _localctx.exception = re;
50762 _errHandler.reportError(this, re);
50763 _errHandler.recover(this, re);
50764 }
50765 finally {
50766 exitRule();
50767 }
50768 return _localctx;
50769 }
50770
50771 public static class AlterLoginContext extends ParserRuleContext {
50772 public TerminalNode ALTER() { return getToken(SQLServerStatementParser.ALTER, 0); }
50773 public TerminalNode LOGIN() { return getToken(SQLServerStatementParser.LOGIN, 0); }
50774 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
50775 return getRuleContext(IgnoredNameIdentifierContext.class,0);
50776 }
50777 public StatusOptionClauseContext statusOptionClause() {
50778 return getRuleContext(StatusOptionClauseContext.class,0);
50779 }
50780 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
50781 public List<SetOptionClauseContext> setOptionClause() {
50782 return getRuleContexts(SetOptionClauseContext.class);
50783 }
50784 public SetOptionClauseContext setOptionClause(int i) {
50785 return getRuleContext(SetOptionClauseContext.class,i);
50786 }
50787 public CryptographicCredentialsOptionClauseContext cryptographicCredentialsOptionClause() {
50788 return getRuleContext(CryptographicCredentialsOptionClauseContext.class,0);
50789 }
50790 public List<TerminalNode> COMMA_() { return getTokens(SQLServerStatementParser.COMMA_); }
50791 public TerminalNode COMMA_(int i) {
50792 return getToken(SQLServerStatementParser.COMMA_, i);
50793 }
50794 public AlterLoginContext(ParserRuleContext parent, int invokingState) {
50795 super(parent, invokingState);
50796 }
50797 @Override public int getRuleIndex() { return RULE_alterLogin; }
50798 @Override
50799 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50800 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitAlterLogin(this);
50801 else return visitor.visitChildren(this);
50802 }
50803 }
50804
50805 public final AlterLoginContext alterLogin() throws RecognitionException {
50806 AlterLoginContext _localctx = new AlterLoginContext(_ctx, getState());
50807 enterRule(_localctx, 944, RULE_alterLogin);
50808 int _la;
50809 try {
50810 enterOuterAlt(_localctx, 1);
50811 {
50812 setState(6773);
50813 match(ALTER);
50814 setState(6774);
50815 match(LOGIN);
50816 setState(6775);
50817 ignoredNameIdentifier();
50818 setState(6787);
50819 _errHandler.sync(this);
50820 switch (_input.LA(1)) {
50821 case ENABLE:
50822 case DISABLE:
50823 {
50824 setState(6776);
50825 statusOptionClause();
50826 }
50827 break;
50828 case WITH:
50829 {
50830 setState(6777);
50831 match(WITH);
50832 setState(6778);
50833 setOptionClause();
50834 setState(6783);
50835 _errHandler.sync(this);
50836 _la = _input.LA(1);
50837 while (_la==COMMA_) {
50838 {
50839 {
50840 setState(6779);
50841 match(COMMA_);
50842 setState(6780);
50843 setOptionClause();
50844 }
50845 }
50846 setState(6785);
50847 _errHandler.sync(this);
50848 _la = _input.LA(1);
50849 }
50850 }
50851 break;
50852 case DROP:
50853 case ADD:
50854 {
50855 setState(6786);
50856 cryptographicCredentialsOptionClause();
50857 }
50858 break;
50859 default:
50860 throw new NoViableAltException(this);
50861 }
50862 }
50863 }
50864 catch (RecognitionException re) {
50865 _localctx.exception = re;
50866 _errHandler.reportError(this, re);
50867 _errHandler.recover(this, re);
50868 }
50869 finally {
50870 exitRule();
50871 }
50872 return _localctx;
50873 }
50874
50875 public static class StatusOptionClauseContext extends ParserRuleContext {
50876 public TerminalNode ENABLE() { return getToken(SQLServerStatementParser.ENABLE, 0); }
50877 public TerminalNode DISABLE() { return getToken(SQLServerStatementParser.DISABLE, 0); }
50878 public StatusOptionClauseContext(ParserRuleContext parent, int invokingState) {
50879 super(parent, invokingState);
50880 }
50881 @Override public int getRuleIndex() { return RULE_statusOptionClause; }
50882 @Override
50883 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50884 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitStatusOptionClause(this);
50885 else return visitor.visitChildren(this);
50886 }
50887 }
50888
50889 public final StatusOptionClauseContext statusOptionClause() throws RecognitionException {
50890 StatusOptionClauseContext _localctx = new StatusOptionClauseContext(_ctx, getState());
50891 enterRule(_localctx, 946, RULE_statusOptionClause);
50892 int _la;
50893 try {
50894 enterOuterAlt(_localctx, 1);
50895 {
50896 setState(6789);
50897 _la = _input.LA(1);
50898 if ( !(_la==ENABLE || _la==DISABLE) ) {
50899 _errHandler.recoverInline(this);
50900 }
50901 else {
50902 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
50903 _errHandler.reportMatch(this);
50904 consume();
50905 }
50906 }
50907 }
50908 catch (RecognitionException re) {
50909 _localctx.exception = re;
50910 _errHandler.reportError(this, re);
50911 _errHandler.recover(this, re);
50912 }
50913 finally {
50914 exitRule();
50915 }
50916 return _localctx;
50917 }
50918
50919 public static class SetOptionClauseContext extends ParserRuleContext {
50920 public TerminalNode PASSWORD() { return getToken(SQLServerStatementParser.PASSWORD, 0); }
50921 public List<TerminalNode> EQ_() { return getTokens(SQLServerStatementParser.EQ_); }
50922 public TerminalNode EQ_(int i) {
50923 return getToken(SQLServerStatementParser.EQ_, i);
50924 }
50925 public List<StringLiteralsContext> stringLiterals() {
50926 return getRuleContexts(StringLiteralsContext.class);
50927 }
50928 public StringLiteralsContext stringLiterals(int i) {
50929 return getRuleContext(StringLiteralsContext.class,i);
50930 }
50931 public HashedPasswordContext hashedPassword() {
50932 return getRuleContext(HashedPasswordContext.class,0);
50933 }
50934 public TerminalNode HASHED() { return getToken(SQLServerStatementParser.HASHED, 0); }
50935 public TerminalNode OLD_PASSWORD() { return getToken(SQLServerStatementParser.OLD_PASSWORD, 0); }
50936 public List<PasswordOptionClauseContext> passwordOptionClause() {
50937 return getRuleContexts(PasswordOptionClauseContext.class);
50938 }
50939 public PasswordOptionClauseContext passwordOptionClause(int i) {
50940 return getRuleContext(PasswordOptionClauseContext.class,i);
50941 }
50942 public TerminalNode DEFAULT_DATABASE() { return getToken(SQLServerStatementParser.DEFAULT_DATABASE, 0); }
50943 public DatabaseNameContext databaseName() {
50944 return getRuleContext(DatabaseNameContext.class,0);
50945 }
50946 public TerminalNode DEFAULT_LANGUAGE() { return getToken(SQLServerStatementParser.DEFAULT_LANGUAGE, 0); }
50947 public IdentifierContext identifier() {
50948 return getRuleContext(IdentifierContext.class,0);
50949 }
50950 public TerminalNode NAME() { return getToken(SQLServerStatementParser.NAME, 0); }
50951 public IgnoredNameIdentifierContext ignoredNameIdentifier() {
50952 return getRuleContext(IgnoredNameIdentifierContext.class,0);
50953 }
50954 public TerminalNode CHECK_POLICY() { return getToken(SQLServerStatementParser.CHECK_POLICY, 0); }
50955 public TerminalNode ON() { return getToken(SQLServerStatementParser.ON, 0); }
50956 public TerminalNode OFF() { return getToken(SQLServerStatementParser.OFF, 0); }
50957 public TerminalNode CHECK_EXPIRATION() { return getToken(SQLServerStatementParser.CHECK_EXPIRATION, 0); }
50958 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
50959 public TerminalNode NO() { return getToken(SQLServerStatementParser.NO, 0); }
50960 public SetOptionClauseContext(ParserRuleContext parent, int invokingState) {
50961 super(parent, invokingState);
50962 }
50963 @Override public int getRuleIndex() { return RULE_setOptionClause; }
50964 @Override
50965 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
50966 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitSetOptionClause(this);
50967 else return visitor.visitChildren(this);
50968 }
50969 }
50970
50971 public final SetOptionClauseContext setOptionClause() throws RecognitionException {
50972 SetOptionClauseContext _localctx = new SetOptionClauseContext(_ctx, getState());
50973 enterRule(_localctx, 948, RULE_setOptionClause);
50974 int _la;
50975 try {
50976 setState(6828);
50977 _errHandler.sync(this);
50978 switch (_input.LA(1)) {
50979 case PASSWORD:
50980 enterOuterAlt(_localctx, 1);
50981 {
50982 setState(6791);
50983 match(PASSWORD);
50984 setState(6792);
50985 match(EQ_);
50986 setState(6797);
50987 _errHandler.sync(this);
50988 switch (_input.LA(1)) {
50989 case STRING_:
50990 case NCHAR_TEXT:
50991 {
50992 setState(6793);
50993 stringLiterals();
50994 }
50995 break;
50996 case HEX_DIGIT_:
50997 {
50998 setState(6794);
50999 hashedPassword();
51000 setState(6795);
51001 match(HASHED);
51002 }
51003 break;
51004 default:
51005 throw new NoViableAltException(this);
51006 }
51007 setState(6806);
51008 _errHandler.sync(this);
51009 switch (_input.LA(1)) {
51010 case OLD_PASSWORD:
51011 {
51012 setState(6799);
51013 match(OLD_PASSWORD);
51014 setState(6800);
51015 match(EQ_);
51016 setState(6801);
51017 stringLiterals();
51018 }
51019 break;
51020 case MUST_CHANGE:
51021 case UNLOCK:
51022 {
51023 setState(6802);
51024 passwordOptionClause();
51025 setState(6804);
51026 _errHandler.sync(this);
51027 _la = _input.LA(1);
51028 if (_la==MUST_CHANGE || _la==UNLOCK) {
51029 {
51030 setState(6803);
51031 passwordOptionClause();
51032 }
51033 }
51034
51035 }
51036 break;
51037 case EOF:
51038 case COMMA_:
51039 case SEMI_:
51040 break;
51041 default:
51042 break;
51043 }
51044 }
51045 break;
51046 case DEFAULT_DATABASE:
51047 enterOuterAlt(_localctx, 2);
51048 {
51049 setState(6808);
51050 match(DEFAULT_DATABASE);
51051 setState(6809);
51052 match(EQ_);
51053 setState(6810);
51054 databaseName();
51055 }
51056 break;
51057 case DEFAULT_LANGUAGE:
51058 enterOuterAlt(_localctx, 3);
51059 {
51060 setState(6811);
51061 match(DEFAULT_LANGUAGE);
51062 setState(6812);
51063 match(EQ_);
51064 setState(6813);
51065 identifier();
51066 }
51067 break;
51068 case NAME:
51069 enterOuterAlt(_localctx, 4);
51070 {
51071 setState(6814);
51072 match(NAME);
51073 setState(6815);
51074 match(EQ_);
51075 setState(6816);
51076 ignoredNameIdentifier();
51077 }
51078 break;
51079 case CHECK_POLICY:
51080 enterOuterAlt(_localctx, 5);
51081 {
51082 setState(6817);
51083 match(CHECK_POLICY);
51084 setState(6818);
51085 match(EQ_);
51086 setState(6819);
51087 _la = _input.LA(1);
51088 if ( !(_la==ON || _la==OFF) ) {
51089 _errHandler.recoverInline(this);
51090 }
51091 else {
51092 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51093 _errHandler.reportMatch(this);
51094 consume();
51095 }
51096 }
51097 break;
51098 case CHECK_EXPIRATION:
51099 enterOuterAlt(_localctx, 6);
51100 {
51101 setState(6820);
51102 match(CHECK_EXPIRATION);
51103 setState(6821);
51104 match(EQ_);
51105 setState(6822);
51106 _la = _input.LA(1);
51107 if ( !(_la==ON || _la==OFF) ) {
51108 _errHandler.recoverInline(this);
51109 }
51110 else {
51111 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51112 _errHandler.reportMatch(this);
51113 consume();
51114 }
51115 }
51116 break;
51117 case CREDENTIAL:
51118 enterOuterAlt(_localctx, 7);
51119 {
51120 setState(6823);
51121 match(CREDENTIAL);
51122 setState(6824);
51123 match(EQ_);
51124 setState(6825);
51125 identifier();
51126 }
51127 break;
51128 case NO:
51129 enterOuterAlt(_localctx, 8);
51130 {
51131 setState(6826);
51132 match(NO);
51133 setState(6827);
51134 match(CREDENTIAL);
51135 }
51136 break;
51137 default:
51138 throw new NoViableAltException(this);
51139 }
51140 }
51141 catch (RecognitionException re) {
51142 _localctx.exception = re;
51143 _errHandler.reportError(this, re);
51144 _errHandler.recover(this, re);
51145 }
51146 finally {
51147 exitRule();
51148 }
51149 return _localctx;
51150 }
51151
51152 public static class PasswordOptionClauseContext extends ParserRuleContext {
51153 public TerminalNode MUST_CHANGE() { return getToken(SQLServerStatementParser.MUST_CHANGE, 0); }
51154 public TerminalNode UNLOCK() { return getToken(SQLServerStatementParser.UNLOCK, 0); }
51155 public PasswordOptionClauseContext(ParserRuleContext parent, int invokingState) {
51156 super(parent, invokingState);
51157 }
51158 @Override public int getRuleIndex() { return RULE_passwordOptionClause; }
51159 @Override
51160 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51161 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitPasswordOptionClause(this);
51162 else return visitor.visitChildren(this);
51163 }
51164 }
51165
51166 public final PasswordOptionClauseContext passwordOptionClause() throws RecognitionException {
51167 PasswordOptionClauseContext _localctx = new PasswordOptionClauseContext(_ctx, getState());
51168 enterRule(_localctx, 950, RULE_passwordOptionClause);
51169 int _la;
51170 try {
51171 enterOuterAlt(_localctx, 1);
51172 {
51173 setState(6830);
51174 _la = _input.LA(1);
51175 if ( !(_la==MUST_CHANGE || _la==UNLOCK) ) {
51176 _errHandler.recoverInline(this);
51177 }
51178 else {
51179 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
51180 _errHandler.reportMatch(this);
51181 consume();
51182 }
51183 }
51184 }
51185 catch (RecognitionException re) {
51186 _localctx.exception = re;
51187 _errHandler.reportError(this, re);
51188 _errHandler.recover(this, re);
51189 }
51190 finally {
51191 exitRule();
51192 }
51193 return _localctx;
51194 }
51195
51196 public static class CryptographicCredentialsOptionClauseContext extends ParserRuleContext {
51197 public TerminalNode ADD() { return getToken(SQLServerStatementParser.ADD, 0); }
51198 public TerminalNode CREDENTIAL() { return getToken(SQLServerStatementParser.CREDENTIAL, 0); }
51199 public IdentifierContext identifier() {
51200 return getRuleContext(IdentifierContext.class,0);
51201 }
51202 public TerminalNode DROP() { return getToken(SQLServerStatementParser.DROP, 0); }
51203 public CryptographicCredentialsOptionClauseContext(ParserRuleContext parent, int invokingState) {
51204 super(parent, invokingState);
51205 }
51206 @Override public int getRuleIndex() { return RULE_cryptographicCredentialsOptionClause; }
51207 @Override
51208 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51209 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitCryptographicCredentialsOptionClause(this);
51210 else return visitor.visitChildren(this);
51211 }
51212 }
51213
51214 public final CryptographicCredentialsOptionClauseContext cryptographicCredentialsOptionClause() throws RecognitionException {
51215 CryptographicCredentialsOptionClauseContext _localctx = new CryptographicCredentialsOptionClauseContext(_ctx, getState());
51216 enterRule(_localctx, 952, RULE_cryptographicCredentialsOptionClause);
51217 try {
51218 setState(6838);
51219 _errHandler.sync(this);
51220 switch (_input.LA(1)) {
51221 case ADD:
51222 enterOuterAlt(_localctx, 1);
51223 {
51224 setState(6832);
51225 match(ADD);
51226 setState(6833);
51227 match(CREDENTIAL);
51228 setState(6834);
51229 identifier();
51230 }
51231 break;
51232 case DROP:
51233 enterOuterAlt(_localctx, 2);
51234 {
51235 setState(6835);
51236 match(DROP);
51237 setState(6836);
51238 match(CREDENTIAL);
51239 setState(6837);
51240 identifier();
51241 }
51242 break;
51243 default:
51244 throw new NoViableAltException(this);
51245 }
51246 }
51247 catch (RecognitionException re) {
51248 _localctx.exception = re;
51249 _errHandler.reportError(this, re);
51250 _errHandler.recover(this, re);
51251 }
51252 finally {
51253 exitRule();
51254 }
51255 return _localctx;
51256 }
51257
51258 public static class RevertContext extends ParserRuleContext {
51259 public TerminalNode REVERT() { return getToken(SQLServerStatementParser.REVERT, 0); }
51260 public TerminalNode WITH() { return getToken(SQLServerStatementParser.WITH, 0); }
51261 public TerminalNode COOKIE() { return getToken(SQLServerStatementParser.COOKIE, 0); }
51262 public TerminalNode EQ_() { return getToken(SQLServerStatementParser.EQ_, 0); }
51263 public VariableNameContext variableName() {
51264 return getRuleContext(VariableNameContext.class,0);
51265 }
51266 public RevertContext(ParserRuleContext parent, int invokingState) {
51267 super(parent, invokingState);
51268 }
51269 @Override public int getRuleIndex() { return RULE_revert; }
51270 @Override
51271 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
51272 if ( visitor instanceof SQLServerStatementVisitor ) return ((SQLServerStatementVisitor<? extends T>)visitor).visitRevert(this);
51273 else return visitor.visitChildren(this);
51274 }
51275 }
51276
51277 public final RevertContext revert() throws RecognitionException {
51278 RevertContext _localctx = new RevertContext(_ctx, getState());
51279 enterRule(_localctx, 954, RULE_revert);
51280 int _la;
51281 try {
51282 enterOuterAlt(_localctx, 1);
51283 {
51284 setState(6840);
51285 match(REVERT);
51286 setState(6845);
51287 _errHandler.sync(this);
51288 _la = _input.LA(1);
51289 if (_la==WITH) {
51290 {
51291 setState(6841);
51292 match(WITH);
51293 setState(6842);
51294 match(COOKIE);
51295 setState(6843);
51296 match(EQ_);
51297 setState(6844);
51298 variableName();
51299 }
51300 }
51301
51302 }
51303 }
51304 catch (RecognitionException re) {
51305 _localctx.exception = re;
51306 _errHandler.reportError(this, re);
51307 _errHandler.recover(this, re);
51308 }
51309 finally {
51310 exitRule();
51311 }
51312 return _localctx;
51313 }
51314
51315 public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
51316 switch (ruleIndex) {
51317 case 49:
51318 return expr_sempred((ExprContext)_localctx, predIndex);
51319 case 53:
51320 return booleanPrimary_sempred((BooleanPrimaryContext)_localctx, predIndex);
51321 case 56:
51322 return bitExpr_sempred((BitExprContext)_localctx, predIndex);
51323 case 57:
51324 return simpleExpr_sempred((SimpleExprContext)_localctx, predIndex);
51325 }
51326 return true;
51327 }
51328 private boolean expr_sempred(ExprContext _localctx, int predIndex) {
51329 switch (predIndex) {
51330 case 0:
51331 return precpred(_ctx, 5);
51332 case 1:
51333 return precpred(_ctx, 4);
51334 }
51335 return true;
51336 }
51337 private boolean booleanPrimary_sempred(BooleanPrimaryContext _localctx, int predIndex) {
51338 switch (predIndex) {
51339 case 2:
51340 return precpred(_ctx, 5);
51341 case 3:
51342 return precpred(_ctx, 4);
51343 case 4:
51344 return precpred(_ctx, 3);
51345 case 5:
51346 return precpred(_ctx, 2);
51347 }
51348 return true;
51349 }
51350 private boolean bitExpr_sempred(BitExprContext _localctx, int predIndex) {
51351 switch (predIndex) {
51352 case 6:
51353 return precpred(_ctx, 11);
51354 case 7:
51355 return precpred(_ctx, 10);
51356 case 8:
51357 return precpred(_ctx, 9);
51358 case 9:
51359 return precpred(_ctx, 8);
51360 case 10:
51361 return precpred(_ctx, 7);
51362 case 11:
51363 return precpred(_ctx, 6);
51364 case 12:
51365 return precpred(_ctx, 5);
51366 case 13:
51367 return precpred(_ctx, 4);
51368 case 14:
51369 return precpred(_ctx, 3);
51370 case 15:
51371 return precpred(_ctx, 2);
51372 }
51373 return true;
51374 }
51375 private boolean simpleExpr_sempred(SimpleExprContext _localctx, int predIndex) {
51376 switch (predIndex) {
51377 case 16:
51378 return precpred(_ctx, 7);
51379 }
51380 return true;
51381 }
51382
51383 private static final String _serializedATNSegment0 =
51384 "\u0004\u0001\u02b5\u1ac0\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001"+
51385 "\u0002\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0002\u0004\u0007\u0004"+
51386 "\u0002\u0005\u0007\u0005\u0002\u0006\u0007\u0006\u0002\u0007\u0007\u0007"+
51387 "\u0002\b\u0007\b\u0002\t\u0007\t\u0002\n\u0007\n\u0002\u000b\u0007\u000b"+
51388 "\u0002\f\u0007\f\u0002\r\u0007\r\u0002\u000e\u0007\u000e\u0002\u000f\u0007"+
51389 "\u000f\u0002\u0010\u0007\u0010\u0002\u0011\u0007\u0011\u0002\u0012\u0007"+
51390 "\u0012\u0002\u0013\u0007\u0013\u0002\u0014\u0007\u0014\u0002\u0015\u0007"+
51391 "\u0015\u0002\u0016\u0007\u0016\u0002\u0017\u0007\u0017\u0002\u0018\u0007"+
51392 "\u0018\u0002\u0019\u0007\u0019\u0002\u001a\u0007\u001a\u0002\u001b\u0007"+
51393 "\u001b\u0002\u001c\u0007\u001c\u0002\u001d\u0007\u001d\u0002\u001e\u0007"+
51394 "\u001e\u0002\u001f\u0007\u001f\u0002 \u0007 \u0002!\u0007!\u0002\"\u0007"+
51395 "\"\u0002#\u0007#\u0002$\u0007$\u0002%\u0007%\u0002&\u0007&\u0002\'\u0007"+
51396 "\'\u0002(\u0007(\u0002)\u0007)\u0002*\u0007*\u0002+\u0007+\u0002,\u0007"+
51397 ",\u0002-\u0007-\u0002.\u0007.\u0002/\u0007/\u00020\u00070\u00021\u0007"+
51398 "1\u00022\u00072\u00023\u00073\u00024\u00074\u00025\u00075\u00026\u0007"+
51399 "6\u00027\u00077\u00028\u00078\u00029\u00079\u0002:\u0007:\u0002;\u0007"+
51400 ";\u0002<\u0007<\u0002=\u0007=\u0002>\u0007>\u0002?\u0007?\u0002@\u0007"+
51401 "@\u0002A\u0007A\u0002B\u0007B\u0002C\u0007C\u0002D\u0007D\u0002E\u0007"+
51402 "E\u0002F\u0007F\u0002G\u0007G\u0002H\u0007H\u0002I\u0007I\u0002J\u0007"+
51403 "J\u0002K\u0007K\u0002L\u0007L\u0002M\u0007M\u0002N\u0007N\u0002O\u0007"+
51404 "O\u0002P\u0007P\u0002Q\u0007Q\u0002R\u0007R\u0002S\u0007S\u0002T\u0007"+
51405 "T\u0002U\u0007U\u0002V\u0007V\u0002W\u0007W\u0002X\u0007X\u0002Y\u0007"+
51406 "Y\u0002Z\u0007Z\u0002[\u0007[\u0002\\\u0007\\\u0002]\u0007]\u0002^\u0007"+
51407 "^\u0002_\u0007_\u0002`\u0007`\u0002a\u0007a\u0002b\u0007b\u0002c\u0007"+
51408 "c\u0002d\u0007d\u0002e\u0007e\u0002f\u0007f\u0002g\u0007g\u0002h\u0007"+
51409 "h\u0002i\u0007i\u0002j\u0007j\u0002k\u0007k\u0002l\u0007l\u0002m\u0007"+
51410 "m\u0002n\u0007n\u0002o\u0007o\u0002p\u0007p\u0002q\u0007q\u0002r\u0007"+
51411 "r\u0002s\u0007s\u0002t\u0007t\u0002u\u0007u\u0002v\u0007v\u0002w\u0007"+
51412 "w\u0002x\u0007x\u0002y\u0007y\u0002z\u0007z\u0002{\u0007{\u0002|\u0007"+
51413 "|\u0002}\u0007}\u0002~\u0007~\u0002\u007f\u0007\u007f\u0002\u0080\u0007"+
51414 "\u0080\u0002\u0081\u0007\u0081\u0002\u0082\u0007\u0082\u0002\u0083\u0007"+
51415 "\u0083\u0002\u0084\u0007\u0084\u0002\u0085\u0007\u0085\u0002\u0086\u0007"+
51416 "\u0086\u0002\u0087\u0007\u0087\u0002\u0088\u0007\u0088\u0002\u0089\u0007"+
51417 "\u0089\u0002\u008a\u0007\u008a\u0002\u008b\u0007\u008b\u0002\u008c\u0007"+
51418 "\u008c\u0002\u008d\u0007\u008d\u0002\u008e\u0007\u008e\u0002\u008f\u0007"+
51419 "\u008f\u0002\u0090\u0007\u0090\u0002\u0091\u0007\u0091\u0002\u0092\u0007"+
51420 "\u0092\u0002\u0093\u0007\u0093\u0002\u0094\u0007\u0094\u0002\u0095\u0007"+
51421 "\u0095\u0002\u0096\u0007\u0096\u0002\u0097\u0007\u0097\u0002\u0098\u0007"+
51422 "\u0098\u0002\u0099\u0007\u0099\u0002\u009a\u0007\u009a\u0002\u009b\u0007"+
51423 "\u009b\u0002\u009c\u0007\u009c\u0002\u009d\u0007\u009d\u0002\u009e\u0007"+
51424 "\u009e\u0002\u009f\u0007\u009f\u0002\u00a0\u0007\u00a0\u0002\u00a1\u0007"+
51425 "\u00a1\u0002\u00a2\u0007\u00a2\u0002\u00a3\u0007\u00a3\u0002\u00a4\u0007"+
51426 "\u00a4\u0002\u00a5\u0007\u00a5\u0002\u00a6\u0007\u00a6\u0002\u00a7\u0007"+
51427 "\u00a7\u0002\u00a8\u0007\u00a8\u0002\u00a9\u0007\u00a9\u0002\u00aa\u0007"+
51428 "\u00aa\u0002\u00ab\u0007\u00ab\u0002\u00ac\u0007\u00ac\u0002\u00ad\u0007"+
51429 "\u00ad\u0002\u00ae\u0007\u00ae\u0002\u00af\u0007\u00af\u0002\u00b0\u0007"+
51430 "\u00b0\u0002\u00b1\u0007\u00b1\u0002\u00b2\u0007\u00b2\u0002\u00b3\u0007"+
51431 "\u00b3\u0002\u00b4\u0007\u00b4\u0002\u00b5\u0007\u00b5\u0002\u00b6\u0007"+
51432 "\u00b6\u0002\u00b7\u0007\u00b7\u0002\u00b8\u0007\u00b8\u0002\u00b9\u0007"+
51433 "\u00b9\u0002\u00ba\u0007\u00ba\u0002\u00bb\u0007\u00bb\u0002\u00bc\u0007"+
51434 "\u00bc\u0002\u00bd\u0007\u00bd\u0002\u00be\u0007\u00be\u0002\u00bf\u0007"+
51435 "\u00bf\u0002\u00c0\u0007\u00c0\u0002\u00c1\u0007\u00c1\u0002\u00c2\u0007"+
51436 "\u00c2\u0002\u00c3\u0007\u00c3\u0002\u00c4\u0007\u00c4\u0002\u00c5\u0007"+
51437 "\u00c5\u0002\u00c6\u0007\u00c6\u0002\u00c7\u0007\u00c7\u0002\u00c8\u0007"+
51438 "\u00c8\u0002\u00c9\u0007\u00c9\u0002\u00ca\u0007\u00ca\u0002\u00cb\u0007"+
51439 "\u00cb\u0002\u00cc\u0007\u00cc\u0002\u00cd\u0007\u00cd\u0002\u00ce\u0007"+
51440 "\u00ce\u0002\u00cf\u0007\u00cf\u0002\u00d0\u0007\u00d0\u0002\u00d1\u0007"+
51441 "\u00d1\u0002\u00d2\u0007\u00d2\u0002\u00d3\u0007\u00d3\u0002\u00d4\u0007"+
51442 "\u00d4\u0002\u00d5\u0007\u00d5\u0002\u00d6\u0007\u00d6\u0002\u00d7\u0007"+
51443 "\u00d7\u0002\u00d8\u0007\u00d8\u0002\u00d9\u0007\u00d9\u0002\u00da\u0007"+
51444 "\u00da\u0002\u00db\u0007\u00db\u0002\u00dc\u0007\u00dc\u0002\u00dd\u0007"+
51445 "\u00dd\u0002\u00de\u0007\u00de\u0002\u00df\u0007\u00df\u0002\u00e0\u0007"+
51446 "\u00e0\u0002\u00e1\u0007\u00e1\u0002\u00e2\u0007\u00e2\u0002\u00e3\u0007"+
51447 "\u00e3\u0002\u00e4\u0007\u00e4\u0002\u00e5\u0007\u00e5\u0002\u00e6\u0007"+
51448 "\u00e6\u0002\u00e7\u0007\u00e7\u0002\u00e8\u0007\u00e8\u0002\u00e9\u0007"+
51449 "\u00e9\u0002\u00ea\u0007\u00ea\u0002\u00eb\u0007\u00eb\u0002\u00ec\u0007"+
51450 "\u00ec\u0002\u00ed\u0007\u00ed\u0002\u00ee\u0007\u00ee\u0002\u00ef\u0007"+
51451 "\u00ef\u0002\u00f0\u0007\u00f0\u0002\u00f1\u0007\u00f1\u0002\u00f2\u0007"+
51452 "\u00f2\u0002\u00f3\u0007\u00f3\u0002\u00f4\u0007\u00f4\u0002\u00f5\u0007"+
51453 "\u00f5\u0002\u00f6\u0007\u00f6\u0002\u00f7\u0007\u00f7\u0002\u00f8\u0007"+
51454 "\u00f8\u0002\u00f9\u0007\u00f9\u0002\u00fa\u0007\u00fa\u0002\u00fb\u0007"+
51455 "\u00fb\u0002\u00fc\u0007\u00fc\u0002\u00fd\u0007\u00fd\u0002\u00fe\u0007"+
51456 "\u00fe\u0002\u00ff\u0007\u00ff\u0002\u0100\u0007\u0100\u0002\u0101\u0007"+
51457 "\u0101\u0002\u0102\u0007\u0102\u0002\u0103\u0007\u0103\u0002\u0104\u0007"+
51458 "\u0104\u0002\u0105\u0007\u0105\u0002\u0106\u0007\u0106\u0002\u0107\u0007"+
51459 "\u0107\u0002\u0108\u0007\u0108\u0002\u0109\u0007\u0109\u0002\u010a\u0007"+
51460 "\u010a\u0002\u010b\u0007\u010b\u0002\u010c\u0007\u010c\u0002\u010d\u0007"+
51461 "\u010d\u0002\u010e\u0007\u010e\u0002\u010f\u0007\u010f\u0002\u0110\u0007"+
51462 "\u0110\u0002\u0111\u0007\u0111\u0002\u0112\u0007\u0112\u0002\u0113\u0007"+
51463 "\u0113\u0002\u0114\u0007\u0114\u0002\u0115\u0007\u0115\u0002\u0116\u0007"+
51464 "\u0116\u0002\u0117\u0007\u0117\u0002\u0118\u0007\u0118\u0002\u0119\u0007"+
51465 "\u0119\u0002\u011a\u0007\u011a\u0002\u011b\u0007\u011b\u0002\u011c\u0007"+
51466 "\u011c\u0002\u011d\u0007\u011d\u0002\u011e\u0007\u011e\u0002\u011f\u0007"+
51467 "\u011f\u0002\u0120\u0007\u0120\u0002\u0121\u0007\u0121\u0002\u0122\u0007"+
51468 "\u0122\u0002\u0123\u0007\u0123\u0002\u0124\u0007\u0124\u0002\u0125\u0007"+
51469 "\u0125\u0002\u0126\u0007\u0126\u0002\u0127\u0007\u0127\u0002\u0128\u0007"+
51470 "\u0128\u0002\u0129\u0007\u0129\u0002\u012a\u0007\u012a\u0002\u012b\u0007"+
51471 "\u012b\u0002\u012c\u0007\u012c\u0002\u012d\u0007\u012d\u0002\u012e\u0007"+
51472 "\u012e\u0002\u012f\u0007\u012f\u0002\u0130\u0007\u0130\u0002\u0131\u0007"+
51473 "\u0131\u0002\u0132\u0007\u0132\u0002\u0133\u0007\u0133\u0002\u0134\u0007"+
51474 "\u0134\u0002\u0135\u0007\u0135\u0002\u0136\u0007\u0136\u0002\u0137\u0007"+
51475 "\u0137\u0002\u0138\u0007\u0138\u0002\u0139\u0007\u0139\u0002\u013a\u0007"+
51476 "\u013a\u0002\u013b\u0007\u013b\u0002\u013c\u0007\u013c\u0002\u013d\u0007"+
51477 "\u013d\u0002\u013e\u0007\u013e\u0002\u013f\u0007\u013f\u0002\u0140\u0007"+
51478 "\u0140\u0002\u0141\u0007\u0141\u0002\u0142\u0007\u0142\u0002\u0143\u0007"+
51479 "\u0143\u0002\u0144\u0007\u0144\u0002\u0145\u0007\u0145\u0002\u0146\u0007"+
51480 "\u0146\u0002\u0147\u0007\u0147\u0002\u0148\u0007\u0148\u0002\u0149\u0007"+
51481 "\u0149\u0002\u014a\u0007\u014a\u0002\u014b\u0007\u014b\u0002\u014c\u0007"+
51482 "\u014c\u0002\u014d\u0007\u014d\u0002\u014e\u0007\u014e\u0002\u014f\u0007"+
51483 "\u014f\u0002\u0150\u0007\u0150\u0002\u0151\u0007\u0151\u0002\u0152\u0007"+
51484 "\u0152\u0002\u0153\u0007\u0153\u0002\u0154\u0007\u0154\u0002\u0155\u0007"+
51485 "\u0155\u0002\u0156\u0007\u0156\u0002\u0157\u0007\u0157\u0002\u0158\u0007"+
51486 "\u0158\u0002\u0159\u0007\u0159\u0002\u015a\u0007\u015a\u0002\u015b\u0007"+
51487 "\u015b\u0002\u015c\u0007\u015c\u0002\u015d\u0007\u015d\u0002\u015e\u0007"+
51488 "\u015e\u0002\u015f\u0007\u015f\u0002\u0160\u0007\u0160\u0002\u0161\u0007"+
51489 "\u0161\u0002\u0162\u0007\u0162\u0002\u0163\u0007\u0163\u0002\u0164\u0007"+
51490 "\u0164\u0002\u0165\u0007\u0165\u0002\u0166\u0007\u0166\u0002\u0167\u0007"+
51491 "\u0167\u0002\u0168\u0007\u0168\u0002\u0169\u0007\u0169\u0002\u016a\u0007"+
51492 "\u016a\u0002\u016b\u0007\u016b\u0002\u016c\u0007\u016c\u0002\u016d\u0007"+
51493 "\u016d\u0002\u016e\u0007\u016e\u0002\u016f\u0007\u016f\u0002\u0170\u0007"+
51494 "\u0170\u0002\u0171\u0007\u0171\u0002\u0172\u0007\u0172\u0002\u0173\u0007"+
51495 "\u0173\u0002\u0174\u0007\u0174\u0002\u0175\u0007\u0175\u0002\u0176\u0007"+
51496 "\u0176\u0002\u0177\u0007\u0177\u0002\u0178\u0007\u0178\u0002\u0179\u0007"+
51497 "\u0179\u0002\u017a\u0007\u017a\u0002\u017b\u0007\u017b\u0002\u017c\u0007"+
51498 "\u017c\u0002\u017d\u0007\u017d\u0002\u017e\u0007\u017e\u0002\u017f\u0007"+
51499 "\u017f\u0002\u0180\u0007\u0180\u0002\u0181\u0007\u0181\u0002\u0182\u0007"+
51500 "\u0182\u0002\u0183\u0007\u0183\u0002\u0184\u0007\u0184\u0002\u0185\u0007"+
51501 "\u0185\u0002\u0186\u0007\u0186\u0002\u0187\u0007\u0187\u0002\u0188\u0007"+
51502 "\u0188\u0002\u0189\u0007\u0189\u0002\u018a\u0007\u018a\u0002\u018b\u0007"+
51503 "\u018b\u0002\u018c\u0007\u018c\u0002\u018d\u0007\u018d\u0002\u018e\u0007"+
51504 "\u018e\u0002\u018f\u0007\u018f\u0002\u0190\u0007\u0190\u0002\u0191\u0007"+
51505 "\u0191\u0002\u0192\u0007\u0192\u0002\u0193\u0007\u0193\u0002\u0194\u0007"+
51506 "\u0194\u0002\u0195\u0007\u0195\u0002\u0196\u0007\u0196\u0002\u0197\u0007"+
51507 "\u0197\u0002\u0198\u0007\u0198\u0002\u0199\u0007\u0199\u0002\u019a\u0007"+
51508 "\u019a\u0002\u019b\u0007\u019b\u0002\u019c\u0007\u019c\u0002\u019d\u0007"+
51509 "\u019d\u0002\u019e\u0007\u019e\u0002\u019f\u0007\u019f\u0002\u01a0\u0007"+
51510 "\u01a0\u0002\u01a1\u0007\u01a1\u0002\u01a2\u0007\u01a2\u0002\u01a3\u0007"+
51511 "\u01a3\u0002\u01a4\u0007\u01a4\u0002\u01a5\u0007\u01a5\u0002\u01a6\u0007"+
51512 "\u01a6\u0002\u01a7\u0007\u01a7\u0002\u01a8\u0007\u01a8\u0002\u01a9\u0007"+
51513 "\u01a9\u0002\u01aa\u0007\u01aa\u0002\u01ab\u0007\u01ab\u0002\u01ac\u0007"+
51514 "\u01ac\u0002\u01ad\u0007\u01ad\u0002\u01ae\u0007\u01ae\u0002\u01af\u0007"+
51515 "\u01af\u0002\u01b0\u0007\u01b0\u0002\u01b1\u0007\u01b1\u0002\u01b2\u0007"+
51516 "\u01b2\u0002\u01b3\u0007\u01b3\u0002\u01b4\u0007\u01b4\u0002\u01b5\u0007"+
51517 "\u01b5\u0002\u01b6\u0007\u01b6\u0002\u01b7\u0007\u01b7\u0002\u01b8\u0007"+
51518 "\u01b8\u0002\u01b9\u0007\u01b9\u0002\u01ba\u0007\u01ba\u0002\u01bb\u0007"+
51519 "\u01bb\u0002\u01bc\u0007\u01bc\u0002\u01bd\u0007\u01bd\u0002\u01be\u0007"+
51520 "\u01be\u0002\u01bf\u0007\u01bf\u0002\u01c0\u0007\u01c0\u0002\u01c1\u0007"+
51521 "\u01c1\u0002\u01c2\u0007\u01c2\u0002\u01c3\u0007\u01c3\u0002\u01c4\u0007"+
51522 "\u01c4\u0002\u01c5\u0007\u01c5\u0002\u01c6\u0007\u01c6\u0002\u01c7\u0007"+
51523 "\u01c7\u0002\u01c8\u0007\u01c8\u0002\u01c9\u0007\u01c9\u0002\u01ca\u0007"+
51524 "\u01ca\u0002\u01cb\u0007\u01cb\u0002\u01cc\u0007\u01cc\u0002\u01cd\u0007"+
51525 "\u01cd\u0002\u01ce\u0007\u01ce\u0002\u01cf\u0007\u01cf\u0002\u01d0\u0007"+
51526 "\u01d0\u0002\u01d1\u0007\u01d1\u0002\u01d2\u0007\u01d2\u0002\u01d3\u0007"+
51527 "\u01d3\u0002\u01d4\u0007\u01d4\u0002\u01d5\u0007\u01d5\u0002\u01d6\u0007"+
51528 "\u01d6\u0002\u01d7\u0007\u01d7\u0002\u01d8\u0007\u01d8\u0002\u01d9\u0007"+
51529 "\u01d9\u0002\u01da\u0007\u01da\u0002\u01db\u0007\u01db\u0002\u01dc\u0007"+
51530 "\u01dc\u0002\u01dd\u0007\u01dd\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
51531 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
51532 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
51533 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
51534 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
51535 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
51536 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
51537 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
51538 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
51539 "\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001\u0000\u0001"+
51540 "\u0000\u0003\u0000\u03f7\b\u0000\u0001\u0000\u0003\u0000\u03fa\b\u0000"+
51541 "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
51542 "\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0002"+
51543 "\u0001\u0002\u0001\u0002\u0003\u0002\u040a\b\u0002\u0001\u0003\u0001\u0003"+
51544 "\u0001\u0003\u0001\u0003\u0001\u0004\u0001\u0004\u0001\u0005\u0001\u0005"+
51545 "\u0001\u0005\u0001\u0005\u0003\u0005\u0416\b\u0005\u0001\u0005\u0001\u0005"+
51546 "\u0001\u0005\u0001\u0005\u0003\u0005\u041c\b\u0005\u0003\u0005\u041e\b"+
51547 "\u0005\u0003\u0005\u0420\b\u0005\u0001\u0006\u0001\u0006\u0001\u0006\u0001"+
51548 "\u0006\u0001\u0006\u0003\u0006\u0427\b\u0006\u0001\u0007\u0001\u0007\u0001"+
51549 "\u0007\u0001\u0007\u0003\u0007\u042d\b\u0007\u0003\u0007\u042f\b\u0007"+
51550 "\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007\u0001\u0007"+
51551 "\u0003\u0007\u0437\b\u0007\u0001\b\u0001\b\u0003\b\u043b\b\b\u0001\t\u0001"+
51552 "\t\u0001\t\u0001\t\u0001\t\u0001\t\u0003\t\u0443\b\t\u0001\n\u0001\n\u0003"+
51553 "\n\u0447\b\n\u0001\u000b\u0001\u000b\u0001\u000b\u0001\u000b\u0003\u000b"+
51554 "\u044d\b\u000b\u0001\f\u0001\f\u0001\r\u0001\r\u0001\r\u0001\r\u0001\r"+
51555 "\u0001\r\u0001\r\u0003\r\u0458\b\r\u0001\u000e\u0001\u000e\u0001\u000f"+
51556 "\u0003\u000f\u045d\b\u000f\u0001\u000f\u0001\u000f\u0001\u0010\u0001\u0010"+
51557 "\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0001\u0010\u0003\u0010"+
51558 "\u0468\b\u0010\u0001\u0011\u0001\u0011\u0001\u0012\u0001\u0012\u0001\u0013"+
51559 "\u0001\u0013\u0001\u0014\u0001\u0014\u0001\u0015\u0001\u0015\u0003\u0015"+
51560 "\u0474\b\u0015\u0001\u0016\u0001\u0016\u0003\u0016\u0478\b\u0016\u0001"+
51561 "\u0017\u0001\u0017\u0001\u0018\u0001\u0018\u0001\u0019\u0001\u0019\u0001"+
51562 "\u001a\u0001\u001a\u0001\u001b\u0001\u001b\u0001\u001b\u0003\u001b\u0485"+
51563 "\b\u001b\u0001\u001b\u0001\u001b\u0001\u001c\u0001\u001c\u0001\u001c\u0003"+
51564 "\u001c\u048c\b\u001c\u0001\u001c\u0001\u001c\u0001\u001c\u0003\u001c\u0491"+
51565 "\b\u001c\u0001\u001d\u0001\u001d\u0001\u001d\u0003\u001d\u0496\b\u001d"+
51566 "\u0001\u001d\u0001\u001d\u0001\u001e\u0001\u001e\u0001\u001e\u0003\u001e"+
51567 "\u049d\b\u001e\u0001\u001e\u0001\u001e\u0001\u001f\u0001\u001f\u0001\u001f"+
51568 "\u0003\u001f\u04a4\b\u001f\u0001\u001f\u0001\u001f\u0001 \u0001 \u0001"+
51569 " \u0001 \u0001 \u0003 \u04ad\b \u0001 \u0001 \u0001 \u0003 \u04b2\b \u0003"+
51570 " \u04b4\b \u0001 \u0001 \u0001!\u0001!\u0001!\u0003!\u04bb\b!\u0001!\u0001"+
51571 "!\u0001\"\u0001\"\u0001#\u0001#\u0001$\u0001$\u0001$\u0003$\u04c6\b$\u0001"+
51572 "$\u0001$\u0003$\u04ca\b$\u0001%\u0001%\u0001%\u0001%\u0001%\u0001&\u0001"+
51573 "&\u0001\'\u0001\'\u0001(\u0001(\u0001(\u0001(\u0005(\u04d9\b(\n(\f(\u04dc"+
51574 "\t(\u0001(\u0001(\u0001)\u0001)\u0001)\u0001)\u0005)\u04e4\b)\n)\f)\u04e7"+
51575 "\t)\u0001)\u0001)\u0001*\u0003*\u04ec\b*\u0001*\u0001*\u0001*\u0005*\u04f1"+
51576 "\b*\n*\f*\u04f4\t*\u0001*\u0003*\u04f7\b*\u0001+\u0001+\u0001,\u0001,"+
51577 "\u0001-\u0001-\u0001.\u0001.\u0003.\u0501\b.\u0001/\u0001/\u0001/\u0001"+
51578 "/\u0003/\u0507\b/\u0003/\u0509\b/\u0001/\u0001/\u00010\u00030\u050e\b"+
51579 "0\u00010\u00010\u00011\u00011\u00011\u00011\u00011\u00011\u00011\u0001"+
51580 "1\u00011\u00031\u051b\b1\u00011\u00011\u00011\u00011\u00011\u00011\u0001"+
51581 "1\u00011\u00051\u0525\b1\n1\f1\u0528\t1\u00012\u00012\u00013\u00013\u0001"+
51582 "4\u00014\u00015\u00015\u00015\u00015\u00015\u00015\u00035\u0536\b5\u0001"+
51583 "5\u00015\u00015\u00015\u00015\u00015\u00015\u00015\u00015\u00015\u0001"+
51584 "5\u00015\u00015\u00055\u0545\b5\n5\f5\u0548\t5\u00016\u00016\u00017\u0001"+
51585 "7\u00037\u054e\b7\u00017\u00017\u00017\u00017\u00017\u00037\u0555\b7\u0001"+
51586 "7\u00017\u00017\u00017\u00017\u00057\u055c\b7\n7\f7\u055f\t7\u00017\u0001"+
51587 "7\u00017\u00017\u00037\u0565\b7\u00017\u00017\u00017\u00017\u00017\u0001"+
51588 "7\u00017\u00037\u056e\b7\u00017\u00017\u00017\u00017\u00037\u0574\b7\u0001"+
51589 "7\u00037\u0577\b7\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u0001"+
51590 "8\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u0001"+
51591 "8\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u00018\u0001"+
51592 "8\u00018\u00018\u00018\u00018\u00018\u00058\u059a\b8\n8\f8\u059d\t8\u0001"+
51593 "9\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00019\u00039\u05a8"+
51594 "\b9\u00019\u00019\u00019\u00019\u00059\u05ae\b9\n9\f9\u05b1\t9\u00019"+
51595 "\u00019\u00019\u00039\u05b6\b9\u00019\u00019\u00019\u00019\u00019\u0001"+
51596 "9\u00019\u00019\u00039\u05c0\b9\u00019\u00019\u00019\u00059\u05c5\b9\n"+
51597 "9\f9\u05c8\t9\u0001:\u0001:\u0001:\u0003:\u05cd\b:\u0001;\u0001;\u0001"+
51598 ";\u0003;\u05d2\b;\u0001;\u0001;\u0001;\u0005;\u05d7\b;\n;\f;\u05da\t;"+
51599 "\u0001;\u0003;\u05dd\b;\u0001;\u0001;\u0001<\u0001<\u0001=\u0001=\u0001"+
51600 ">\u0001>\u0001>\u0003>\u05e8\b>\u0001?\u0001?\u0001?\u0001?\u0001?\u0001"+
51601 "?\u0001?\u0001@\u0001@\u0001@\u0001@\u0001@\u0001@\u0001@\u0003@\u05f8"+
51602 "\b@\u0001@\u0001@\u0001A\u0001A\u0001A\u0001A\u0001A\u0005A\u0601\bA\n"+
51603 "A\fA\u0604\tA\u0001A\u0001A\u0003A\u0608\bA\u0001A\u0001A\u0001B\u0001"+
51604 "B\u0001B\u0001B\u0001B\u0005B\u0611\bB\nB\fB\u0614\tB\u0001B\u0003B\u0617"+
51605 "\bB\u0001B\u0001B\u0001C\u0001C\u0001C\u0003C\u061e\bC\u0001C\u0001C\u0001"+
51606 "C\u0001C\u0001C\u0003C\u0625\bC\u0001D\u0001D\u0003D\u0629\bD\u0001D\u0004"+
51607 "D\u062c\bD\u000bD\fD\u062d\u0001D\u0003D\u0631\bD\u0001D\u0001D\u0001"+
51608 "E\u0001E\u0001E\u0001E\u0001E\u0001F\u0001F\u0001F\u0001G\u0001G\u0001"+
51609 "G\u0001G\u0003G\u0641\bG\u0001H\u0001H\u0001H\u0001H\u0001H\u0005H\u0648"+
51610 "\bH\nH\fH\u064b\tH\u0001H\u0001H\u0001H\u0001H\u0001H\u0001H\u0001H\u0001"+
51611 "H\u0001H\u0003H\u0656\bH\u0003H\u0658\bH\u0001I\u0001I\u0001I\u0003I\u065d"+
51612 "\bI\u0001I\u0001I\u0003I\u0661\bI\u0001I\u0003I\u0664\bI\u0001J\u0001"+
51613 "J\u0001J\u0003J\u0669\bJ\u0001J\u0001J\u0001J\u0001J\u0001J\u0001J\u0001"+
51614 "J\u0003J\u0672\bJ\u0001J\u0001J\u0001J\u0003J\u0677\bJ\u0001K\u0001K\u0001"+
51615 "L\u0001L\u0001L\u0001L\u0003L\u067f\bL\u0001L\u0001L\u0001M\u0001M\u0001"+
51616 "M\u0001M\u0001M\u0001M\u0001M\u0001M\u0003M\u068b\bM\u0001M\u0001M\u0001"+
51617 "N\u0001N\u0001N\u0001N\u0001N\u0003N\u0694\bN\u0001N\u0001N\u0001N\u0001"+
51618 "N\u0003N\u069a\bN\u0001O\u0001O\u0001O\u0001P\u0001P\u0001P\u0003P\u06a2"+
51619 "\bP\u0001P\u0003P\u06a5\bP\u0001P\u0003P\u06a8\bP\u0001P\u0001P\u0001"+
51620 "Q\u0001Q\u0001Q\u0001Q\u0001Q\u0005Q\u06b1\bQ\nQ\fQ\u06b4\tQ\u0001R\u0001"+
51621 "R\u0001R\u0001S\u0001S\u0003S\u06bb\bS\u0001T\u0001T\u0001T\u0001T\u0001"+
51622 "T\u0001U\u0001U\u0003U\u06c4\bU\u0001V\u0001V\u0001V\u0001V\u0001V\u0001"+
51623 "V\u0003V\u06cc\bV\u0001W\u0001W\u0001W\u0001W\u0001W\u0001W\u0003W\u06d4"+
51624 "\bW\u0001X\u0001X\u0003X\u06d8\bX\u0001Y\u0001Y\u0001Y\u0001Y\u0001Y\u0001"+
51625 "Y\u0001Y\u0001Y\u0001Y\u0001Y\u0001Y\u0003Y\u06e5\bY\u0003Y\u06e7\bY\u0001"+
51626 "Z\u0001Z\u0001Z\u0001Z\u0001[\u0001[\u0001[\u0003[\u06f0\b[\u0001\\\u0001"+
51627 "\\\u0001\\\u0001]\u0001]\u0001^\u0001^\u0001^\u0001_\u0001_\u0001_\u0001"+
51628 "_\u0001_\u0001_\u0001`\u0001`\u0001`\u0005`\u0703\b`\n`\f`\u0706\t`\u0001"+
51629 "a\u0001a\u0003a\u070a\ba\u0001b\u0001b\u0001b\u0001b\u0001c\u0001c\u0001"+
51630 "c\u0001c\u0001c\u0001c\u0003c\u0716\bc\u0001c\u0001c\u0001c\u0001c\u0001"+
51631 "c\u0001c\u0001d\u0001d\u0001d\u0001d\u0001d\u0003d\u0723\bd\u0001e\u0001"+
51632 "e\u0001f\u0001f\u0001f\u0005f\u072a\bf\nf\ff\u072d\tf\u0001g\u0001g\u0001"+
51633 "h\u0001h\u0001i\u0001i\u0001i\u0001i\u0001i\u0001i\u0003i\u0739\bi\u0001"+
51634 "j\u0001j\u0001k\u0001k\u0001l\u0001l\u0001m\u0001m\u0001n\u0001n\u0001"+
51635 "o\u0001o\u0001o\u0001p\u0001p\u0001q\u0001q\u0003q\u074c\bq\u0001q\u0001"+
51636 "q\u0001r\u0001r\u0001r\u0001r\u0001r\u0003r\u0755\br\u0001s\u0001s\u0003"+
51637 "s\u0759\bs\u0001t\u0001t\u0001t\u0001t\u0001t\u0001t\u0001u\u0001u\u0001"+
51638 "u\u0001u\u0001u\u0001u\u0001u\u0001u\u0001u\u0001v\u0001v\u0001v\u0001"+
51639 "v\u0001v\u0001w\u0001w\u0001w\u0003w\u0772\bw\u0001w\u0001w\u0001w\u0001"+
51640 "w\u0001w\u0001x\u0001x\u0001x\u0003x\u077c\bx\u0001x\u0001x\u0001x\u0001"+
51641 "x\u0001x\u0001y\u0001y\u0001y\u0003y\u0786\by\u0001y\u0001y\u0001y\u0001"+
51642 "y\u0001z\u0001z\u0001z\u0003z\u078f\bz\u0001z\u0001z\u0001z\u0001z\u0001"+
51643 "z\u0001z\u0001{\u0001{\u0001{\u0001{\u0005{\u079b\b{\n{\f{\u079e\t{\u0001"+
51644 "|\u0001|\u0001|\u0001|\u0001|\u0003|\u07a5\b|\u0001|\u0001|\u0001|\u0001"+
51645 "|\u0003|\u07ab\b|\u0001}\u0001}\u0001}\u0001}\u0005}\u07b1\b}\n}\f}\u07b4"+
51646 "\t}\u0001~\u0001~\u0001~\u0001~\u0001~\u0001~\u0005~\u07bc\b~\n~\f~\u07bf"+
51647 "\t~\u0001\u007f\u0001\u007f\u0001\u007f\u0001\u007f\u0003\u007f\u07c5"+
51648 "\b\u007f\u0001\u007f\u0001\u007f\u0001\u007f\u0001\u007f\u0001\u0080\u0001"+
51649 "\u0080\u0001\u0080\u0001\u0080\u0003\u0080\u07cf\b\u0080\u0001\u0080\u0005"+
51650 "\u0080\u07d2\b\u0080\n\u0080\f\u0080\u07d5\t\u0080\u0001\u0081\u0001\u0081"+
51651 "\u0001\u0081\u0001\u0081\u0001\u0081\u0001\u0081\u0001\u0082\u0001\u0082"+
51652 "\u0001\u0082\u0001\u0082\u0001\u0082\u0001\u0082\u0001\u0083\u0001\u0083"+
51653 "\u0001\u0083\u0001\u0083\u0001\u0083\u0001\u0084\u0001\u0084\u0001\u0084"+
51654 "\u0001\u0084\u0001\u0084\u0001\u0084\u0001\u0084\u0001\u0085\u0001\u0085"+
51655 "\u0001\u0085\u0001\u0085\u0005\u0085\u07f3\b\u0085\n\u0085\f\u0085\u07f6"+
51656 "\t\u0085\u0001\u0086\u0001\u0086\u0001\u0086\u0001\u0086\u0001\u0086\u0001"+
51657 "\u0086\u0003\u0086\u07fe\b\u0086\u0001\u0086\u0003\u0086\u0801\b\u0086"+
51658 "\u0001\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0001\u0087\u0003\u0087"+
51659 "\u0808\b\u0087\u0001\u0087\u0001\u0087\u0001\u0088\u0001\u0088\u0001\u0088"+
51660 "\u0003\u0088\u080f\b\u0088\u0001\u0088\u0001\u0088\u0001\u0089\u0001\u0089"+
51661 "\u0001\u0089\u0003\u0089\u0816\b\u0089\u0001\u0089\u0001\u0089\u0001\u0089"+
51662 "\u0001\u0089\u0001\u008a\u0001\u008a\u0001\u008a\u0003\u008a\u081f\b\u008a"+
51663 "\u0001\u008a\u0001\u008a\u0001\u008a\u0005\u008a\u0824\b\u008a\n\u008a"+
51664 "\f\u008a\u0827\t\u008a\u0001\u008b\u0001\u008b\u0001\u008b\u0003\u008b"+
51665 "\u082c\b\u008b\u0001\u008b\u0001\u008b\u0001\u008b\u0005\u008b\u0831\b"+
51666 "\u008b\n\u008b\f\u008b\u0834\t\u008b\u0001\u008c\u0001\u008c\u0001\u008c"+
51667 "\u0003\u008c\u0839\b\u008c\u0001\u008c\u0001\u008c\u0001\u008c\u0005\u008c"+
51668 "\u083e\b\u008c\n\u008c\f\u008c\u0841\t\u008c\u0001\u008d\u0001\u008d\u0001"+
51669 "\u008d\u0003\u008d\u0846\b\u008d\u0001\u008d\u0001\u008d\u0001\u008d\u0005"+
51670 "\u008d\u084b\b\u008d\n\u008d\f\u008d\u084e\t\u008d\u0001\u008e\u0001\u008e"+
51671 "\u0001\u008e\u0003\u008e\u0853\b\u008e\u0001\u008e\u0001\u008e\u0001\u008e"+
51672 "\u0005\u008e\u0858\b\u008e\n\u008e\f\u008e\u085b\t\u008e\u0001\u008e\u0001"+
51673 "\u008e\u0001\u008e\u0001\u008e\u0003\u008e\u0861\b\u008e\u0003\u008e\u0863"+
51674 "\b\u008e\u0001\u008f\u0001\u008f\u0001\u008f\u0003\u008f\u0868\b\u008f"+
51675 "\u0001\u008f\u0001\u008f\u0001\u008f\u0005\u008f\u086d\b\u008f\n\u008f"+
51676 "\f\u008f\u0870\t\u008f\u0001\u0090\u0001\u0090\u0001\u0090\u0001\u0090"+
51677 "\u0001\u0091\u0001\u0091\u0001\u0091\u0003\u0091\u0879\b\u0091\u0001\u0091"+
51678 "\u0001\u0091\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0092\u0001\u0093"+
51679 "\u0001\u0093\u0003\u0093\u0883\b\u0093\u0001\u0094\u0001\u0094\u0001\u0094"+
51680 "\u0001\u0094\u0001\u0095\u0001\u0095\u0001\u0095\u0001\u0095\u0005\u0095"+
51681 "\u088d\b\u0095\n\u0095\f\u0095\u0890\t\u0095\u0001\u0095\u0001\u0095\u0003"+
51682 "\u0095\u0894\b\u0095\u0001\u0095\u0001\u0095\u0001\u0096\u0001\u0096\u0001"+
51683 "\u0096\u0001\u0096\u0001\u0096\u0003\u0096\u089d\b\u0096\u0001\u0097\u0001"+
51684 "\u0097\u0001\u0097\u0005\u0097\u08a2\b\u0097\n\u0097\f\u0097\u08a5\t\u0097"+
51685 "\u0001\u0097\u0001\u0097\u0003\u0097\u08a9\b\u0097\u0001\u0098\u0001\u0098"+
51686 "\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098"+
51687 "\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0003\u0098"+
51688 "\u08b8\b\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098"+
51689 "\u0001\u0098\u0001\u0098\u0001\u0098\u0003\u0098\u08c2\b\u0098\u0001\u0098"+
51690 "\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098"+
51691 "\u0001\u0098\u0001\u0098\u0003\u0098\u08cd\b\u0098\u0001\u0098\u0003\u0098"+
51692 "\u08d0\b\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098\u0001\u0098"+
51693 "\u0001\u0098\u0001\u0098\u0001\u0098\u0005\u0098\u08da\b\u0098\n\u0098"+
51694 "\f\u0098\u08dd\t\u0098\u0001\u0098\u0003\u0098\u08e0\b\u0098\u0001\u0099"+
51695 "\u0001\u0099\u0001\u0099\u0001\u0099\u0001\u0099\u0001\u0099\u0001\u0099"+
51696 "\u0001\u0099\u0001\u0099\u0001\u0099\u0001\u0099\u0001\u0099\u0001\u0099"+
51697 "\u0001\u0099\u0001\u009a\u0001\u009a\u0003\u009a\u08f2\b\u009a\u0001\u009a"+
51698 "\u0001\u009a\u0001\u009a\u0003\u009a\u08f7\b\u009a\u0001\u009b\u0001\u009b"+
51699 "\u0003\u009b\u08fb\b\u009b\u0001\u009b\u0001\u009b\u0001\u009b\u0003\u009b"+
51700 "\u0900\b\u009b\u0001\u009c\u0001\u009c\u0003\u009c\u0904\b\u009c\u0001"+
51701 "\u009c\u0001\u009c\u0001\u009c\u0001\u009c\u0001\u009c\u0003\u009c\u090b"+
51702 "\b\u009c\u0001\u009c\u0005\u009c\u090e\b\u009c\n\u009c\f\u009c\u0911\t"+
51703 "\u009c\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0003"+
51704 "\u009d\u0918\b\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001\u009d\u0001"+
51705 "\u009d\u0001\u009d\u0001\u009d\u0003\u009d\u0921\b\u009d\u0001\u009e\u0001"+
51706 "\u009e\u0003\u009e\u0925\b\u009e\u0001\u009e\u0001\u009e\u0003\u009e\u0929"+
51707 "\b\u009e\u0001\u009f\u0003\u009f\u092c\b\u009f\u0001\u009f\u0003\u009f"+
51708 "\u092f\b\u009f\u0001\u009f\u0003\u009f\u0932\b\u009f\u0001\u00a0\u0001"+
51709 "\u00a0\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001\u00a1\u0001"+
51710 "\u00a1\u0001\u00a1\u0001\u00a1\u0005\u00a1\u093e\b\u00a1\n\u00a1\f\u00a1"+
51711 "\u0941\t\u00a1\u0001\u00a1\u0001\u00a1\u0003\u00a1\u0945\b\u00a1\u0001"+
51712 "\u00a2\u0001\u00a2\u0001\u00a2\u0003\u00a2\u094a\b\u00a2\u0001\u00a3\u0001"+
51713 "\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a3\u0001\u00a4\u0001"+
51714 "\u00a4\u0001\u00a4\u0001\u00a5\u0001\u00a5\u0001\u00a5\u0001\u00a6\u0001"+
51715 "\u00a6\u0001\u00a6\u0001\u00a6\u0003\u00a6\u095c\b\u00a6\u0003\u00a6\u095e"+
51716 "\b\u00a6\u0001\u00a7\u0001\u00a7\u0001\u00a7\u0001\u00a7\u0001\u00a7\u0001"+
51717 "\u00a7\u0001\u00a7\u0001\u00a8\u0001\u00a8\u0003\u00a8\u0969\b\u00a8\u0001"+
51718 "\u00a8\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0001\u00a8\u0003"+
51719 "\u00a8\u0971\b\u00a8\u0001\u00a8\u0005\u00a8\u0974\b\u00a8\n\u00a8\f\u00a8"+
51720 "\u0977\t\u00a8\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9\u0001\u00a9"+
51721 "\u0001\u00a9\u0003\u00a9\u097f\b\u00a9\u0001\u00aa\u0001\u00aa\u0001\u00aa"+
51722 "\u0001\u00aa\u0001\u00aa\u0003\u00aa\u0986\b\u00aa\u0001\u00ab\u0001\u00ab"+
51723 "\u0001\u00ab\u0001\u00ab\u0003\u00ab\u098c\b\u00ab\u0001\u00ab\u0001\u00ab"+
51724 "\u0001\u00ab\u0001\u00ab\u0001\u00ac\u0001\u00ac\u0001\u00ac\u0003\u00ac"+
51725 "\u0995\b\u00ac\u0001\u00ac\u0003\u00ac\u0998\b\u00ac\u0001\u00ac\u0003"+
51726 "\u00ac\u099b\b\u00ac\u0001\u00ac\u0003\u00ac\u099e\b\u00ac\u0001\u00ad"+
51727 "\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ad\u0005\u00ad\u09a5\b\u00ad"+
51728 "\n\u00ad\f\u00ad\u09a8\t\u00ad\u0001\u00ad\u0001\u00ad\u0001\u00ae\u0001"+
51729 "\u00ae\u0001\u00ae\u0003\u00ae\u09af\b\u00ae\u0001\u00af\u0001\u00af\u0001"+
51730 "\u00af\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0001\u00b0\u0003\u00b0\u09b8"+
51731 "\b\u00b0\u0001\u00b1\u0001\u00b1\u0001\u00b1\u0005\u00b1\u09bd\b\u00b1"+
51732 "\n\u00b1\f\u00b1\u09c0\t\u00b1\u0003\u00b1\u09c2\b\u00b1\u0001\u00b2\u0001"+
51733 "\u00b2\u0001\u00b2\u0001\u00b2\u0001\u00b2\u0001\u00b2\u0003\u00b2\u09ca"+
51734 "\b\u00b2\u0003\u00b2\u09cc\b\u00b2\u0001\u00b2\u0003\u00b2\u09cf\b\u00b2"+
51735 "\u0001\u00b3\u0001\u00b3\u0001\u00b3\u0001\u00b3\u0001\u00b3\u0001\u00b3"+
51736 "\u0001\u00b4\u0001\u00b4\u0003\u00b4\u09d9\b\u00b4\u0001\u00b4\u0001\u00b4"+
51737 "\u0001\u00b4\u0003\u00b4\u09de\b\u00b4\u0001\u00b5\u0001\u00b5\u0001\u00b5"+
51738 "\u0003\u00b5\u09e3\b\u00b5\u0001\u00b6\u0001\u00b6\u0003\u00b6\u09e7\b"+
51739 "\u00b6\u0001\u00b7\u0003\u00b7\u09ea\b\u00b7\u0001\u00b7\u0001\u00b7\u0003"+
51740 "\u00b7\u09ee\b\u00b7\u0001\u00b7\u0003\u00b7\u09f1\b\u00b7\u0001\u00b8"+
51741 "\u0001\u00b8\u0001\u00b8\u0003\u00b8\u09f6\b\u00b8\u0001\u00b9\u0001\u00b9"+
51742 "\u0001\u00b9\u0001\u00b9\u0001\u00ba\u0001\u00ba\u0003\u00ba\u09fe\b\u00ba"+
51743 "\u0001\u00ba\u0001\u00ba\u0001\u00ba\u0001\u00ba\u0001\u00ba\u0005\u00ba"+
51744 "\u0a05\b\u00ba\n\u00ba\f\u00ba\u0a08\t\u00ba\u0001\u00bb\u0001\u00bb\u0001"+
51745 "\u00bb\u0001\u00bb\u0001\u00bb\u0003\u00bb\u0a0f\b\u00bb\u0001\u00bb\u0003"+
51746 "\u00bb\u0a12\b\u00bb\u0001\u00bb\u0003\u00bb\u0a15\b\u00bb\u0001\u00bc"+
51747 "\u0003\u00bc\u0a18\b\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc\u0001\u00bc"+
51748 "\u0003\u00bc\u0a1e\b\u00bc\u0001\u00bc\u0001\u00bc\u0003\u00bc\u0a22\b"+
51749 "\u00bc\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0001\u00bd\u0005\u00bd\u0a28"+
51750 "\b\u00bd\n\u00bd\f\u00bd\u0a2b\t\u00bd\u0001\u00bd\u0001\u00bd\u0001\u00be"+
51751 "\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be\u0001\u00be"+
51752 "\u0001\u00be\u0001\u00be\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0001\u00bf"+
51753 "\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0001\u00bf\u0003\u00bf\u0a40\b\u00bf"+
51754 "\u0003\u00bf\u0a42\b\u00bf\u0001\u00c0\u0001\u00c0\u0001\u00c0\u0003\u00c0"+
51755 "\u0a47\b\u00c0\u0003\u00c0\u0a49\b\u00c0\u0001\u00c0\u0001\u00c0\u0001"+
51756 "\u00c0\u0001\u00c0\u0001\u00c0\u0003\u00c0\u0a50\b\u00c0\u0003\u00c0\u0a52"+
51757 "\b\u00c0\u0001\u00c0\u0001\u00c0\u0003\u00c0\u0a56\b\u00c0\u0001\u00c1"+
51758 "\u0001\u00c1\u0001\u00c1\u0001\u00c1\u0005\u00c1\u0a5c\b\u00c1\n\u00c1"+
51759 "\f\u00c1\u0a5f\t\u00c1\u0001\u00c1\u0001\u00c1\u0001\u00c2\u0001\u00c2"+
51760 "\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2"+
51761 "\u0001\u00c2\u0003\u00c2\u0a6c\b\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2"+
51762 "\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0003\u00c2\u0a75\b\u00c2"+
51763 "\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2"+
51764 "\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2"+
51765 "\u0001\u00c2\u0003\u00c2\u0a84\b\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2"+
51766 "\u0001\u00c2\u0003\u00c2\u0a8a\b\u00c2\u0001\u00c2\u0001\u00c2\u0003\u00c2"+
51767 "\u0a8e\b\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2\u0001\u00c2"+
51768 "\u0003\u00c2\u0a95\b\u00c2\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001\u00c3"+
51769 "\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001\u00c3\u0001\u00c3"+
51770 "\u0001\u00c3\u0001\u00c3\u0001\u00c4\u0001\u00c4\u0001\u00c4\u0001\u00c4"+
51771 "\u0005\u00c4\u0aa7\b\u00c4\n\u00c4\f\u00c4\u0aaa\t\u00c4\u0001\u00c4\u0001"+
51772 "\u00c4\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0001\u00c5\u0003\u00c5\u0ab2"+
51773 "\b\u00c5\u0001\u00c5\u0003\u00c5\u0ab5\b\u00c5\u0001\u00c5\u0001\u00c5"+
51774 "\u0001\u00c5\u0001\u00c5\u0001\u00c6\u0001\u00c6\u0001\u00c6\u0001\u00c6"+
51775 "\u0001\u00c6\u0001\u00c6\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7"+
51776 "\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7\u0001\u00c7"+
51777 "\u0003\u00c7\u0acb\b\u00c7\u0003\u00c7\u0acd\b\u00c7\u0001\u00c8\u0001"+
51778 "\u00c8\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0001\u00c8\u0001"+
51779 "\u00c8\u0001\u00c8\u0003\u00c8\u0ad8\b\u00c8\u0001\u00c9\u0001\u00c9\u0001"+
51780 "\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001"+
51781 "\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0003"+
51782 "\u00c9\u0ae8\b\u00c9\u0001\u00c9\u0001\u00c9\u0001\u00c9\u0003\u00c9\u0aed"+
51783 "\b\u00c9\u0005\u00c9\u0aef\b\u00c9\n\u00c9\f\u00c9\u0af2\t\u00c9\u0001"+
51784 "\u00c9\u0001\u00c9\u0003\u00c9\u0af6\b\u00c9\u0001\u00ca\u0001\u00ca\u0001"+
51785 "\u00ca\u0001\u00ca\u0001\u00ca\u0003\u00ca\u0afd\b\u00ca\u0001\u00ca\u0001"+
51786 "\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca\u0005\u00ca\u0b05"+
51787 "\b\u00ca\n\u00ca\f\u00ca\u0b08\t\u00ca\u0001\u00ca\u0001\u00ca\u0001\u00ca"+
51788 "\u0001\u00cb\u0003\u00cb\u0b0e\b\u00cb\u0001\u00cb\u0003\u00cb\u0b11\b"+
51789 "\u00cb\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0001"+
51790 "\u00cc\u0001\u00cc\u0001\u00cc\u0001\u00cc\u0003\u00cc\u0b1c\b\u00cc\u0001"+
51791 "\u00cd\u0001\u00cd\u0003\u00cd\u0b20\b\u00cd\u0001\u00cd\u0001\u00cd\u0001"+
51792 "\u00cd\u0003\u00cd\u0b25\b\u00cd\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0001"+
51793 "\u00ce\u0003\u00ce\u0b2b\b\u00ce\u0001\u00ce\u0001\u00ce\u0001\u00ce\u0003"+
51794 "\u00ce\u0b30\b\u00ce\u0001\u00ce\u0003\u00ce\u0b33\b\u00ce\u0001\u00cf"+
51795 "\u0001\u00cf\u0001\u00cf\u0001\u00cf\u0001\u00d0\u0001\u00d0\u0001\u00d0"+
51796 "\u0005\u00d0\u0b3c\b\u00d0\n\u00d0\f\u00d0\u0b3f\t\u00d0\u0001\u00d1\u0001"+
51797 "\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0001\u00d1\u0003\u00d1\u0b47"+
51798 "\b\u00d1\u0001\u00d2\u0001\u00d2\u0003\u00d2\u0b4b\b\u00d2\u0001\u00d2"+
51799 "\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d2\u0001\u00d3\u0001\u00d3"+
51800 "\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3\u0001\u00d3"+
51801 "\u0003\u00d3\u0b5a\b\u00d3\u0001\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4"+
51802 "\u0001\u00d4\u0003\u00d4\u0b61\b\u00d4\u0001\u00d4\u0001\u00d4\u0001\u00d4"+
51803 "\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5\u0001\u00d5"+
51804 "\u0001\u00d5\u0003\u00d5\u0b6d\b\u00d5\u0001\u00d5\u0003\u00d5\u0b70\b"+
51805 "\u00d5\u0001\u00d5\u0001\u00d5\u0003\u00d5\u0b74\b\u00d5\u0001\u00d5\u0001"+
51806 "\u00d5\u0003\u00d5\u0b78\b\u00d5\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0001"+
51807 "\u00d6\u0001\u00d6\u0001\u00d6\u0001\u00d6\u0003\u00d6\u0b81\b\u00d6\u0001"+
51808 "\u00d7\u0003\u00d7\u0b84\b\u00d7\u0001\u00d7\u0003\u00d7\u0b87\b\u00d7"+
51809 "\u0001\u00d7\u0001\u00d7\u0001\u00d7\u0005\u00d7\u0b8c\b\u00d7\n\u00d7"+
51810 "\f\u00d7\u0b8f\t\u00d7\u0001\u00d8\u0001\u00d8\u0003\u00d8\u0b93\b\u00d8"+
51811 "\u0001\u00d9\u0001\u00d9\u0001\u00d9\u0001\u00d9\u0001\u00d9\u0005\u00d9"+
51812 "\u0b9a\b\u00d9\n\u00d9\f\u00d9\u0b9d\t\u00d9\u0001\u00d9\u0001\u00d9\u0001"+
51813 "\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001"+
51814 "\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001\u00da\u0001"+
51815 "\u00da\u0001\u00da\u0001\u00da\u0003\u00da\u0bb0\b\u00da\u0003\u00da\u0bb2"+
51816 "\b\u00da\u0001\u00db\u0001\u00db\u0001\u00dc\u0001\u00dc\u0003\u00dc\u0bb8"+
51817 "\b\u00dc\u0001\u00dc\u0001\u00dc\u0001\u00dc\u0005\u00dc\u0bbd\b\u00dc"+
51818 "\n\u00dc\f\u00dc\u0bc0\t\u00dc\u0001\u00dd\u0001\u00dd\u0003\u00dd\u0bc4"+
51819 "\b\u00dd\u0001\u00dd\u0001\u00dd\u0001\u00dd\u0005\u00dd\u0bc9\b\u00dd"+
51820 "\n\u00dd\f\u00dd\u0bcc\t\u00dd\u0001\u00de\u0003\u00de\u0bcf\b\u00de\u0001"+
51821 "\u00de\u0001\u00de\u0001\u00de\u0001\u00de\u0003\u00de\u0bd5\b\u00de\u0001"+
51822 "\u00df\u0001\u00df\u0001\u00df\u0001\u00df\u0003\u00df\u0bdb\b\u00df\u0001"+
51823 "\u00e0\u0001\u00e0\u0001\u00e0\u0003\u00e0\u0be0\b\u00e0\u0001\u00e0\u0001"+
51824 "\u00e0\u0001\u00e0\u0001\u00e0\u0003\u00e0\u0be6\b\u00e0\u0001\u00e0\u0001"+
51825 "\u00e0\u0001\u00e0\u0001\u00e0\u0001\u00e0\u0003\u00e0\u0bed\b\u00e0\u0001"+
51826 "\u00e1\u0001\u00e1\u0001\u00e1\u0001\u00e1\u0003\u00e1\u0bf3\b\u00e1\u0001"+
51827 "\u00e1\u0001\u00e1\u0001\u00e2\u0001\u00e2\u0001\u00e2\u0001\u00e2\u0001"+
51828 "\u00e2\u0003\u00e2\u0bfc\b\u00e2\u0001\u00e3\u0001\u00e3\u0001\u00e3\u0001"+
51829 "\u00e3\u0001\u00e3\u0003\u00e3\u0c03\b\u00e3\u0003\u00e3\u0c05\b\u00e3"+
51830 "\u0001\u00e4\u0001\u00e4\u0001\u00e4\u0001\u00e4\u0003\u00e4\u0c0b\b\u00e4"+
51831 "\u0001\u00e4\u0003\u00e4\u0c0e\b\u00e4\u0001\u00e4\u0003\u00e4\u0c11\b"+
51832 "\u00e4\u0001\u00e4\u0001\u00e4\u0001\u00e5\u0003\u00e5\u0c16\b\u00e5\u0001"+
51833 "\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e5\u0001\u00e6\u0003\u00e6\u0c1d"+
51834 "\b\u00e6\u0001\u00e6\u0001\u00e6\u0001\u00e6\u0001\u00e6\u0001\u00e7\u0001"+
51835 "\u00e7\u0001\u00e7\u0003\u00e7\u0c26\b\u00e7\u0001\u00e8\u0001\u00e8\u0001"+
51836 "\u00e8\u0003\u00e8\u0c2b\b\u00e8\u0001\u00e9\u0001\u00e9\u0001\u00e9\u0001"+
51837 "\u00ea\u0001\u00ea\u0001\u00ea\u0001\u00ea\u0003\u00ea\u0c34\b\u00ea\u0003"+
51838 "\u00ea\u0c36\b\u00ea\u0001\u00eb\u0001\u00eb\u0001\u00eb\u0003\u00eb\u0c3b"+
51839 "\b\u00eb\u0001\u00ec\u0001\u00ec\u0001\u00ec\u0001\u00ec\u0001\u00ec\u0001"+
51840 "\u00ec\u0001\u00ec\u0003\u00ec\u0c44\b\u00ec\u0003\u00ec\u0c46\b\u00ec"+
51841 "\u0001\u00ec\u0003\u00ec\u0c49\b\u00ec\u0001\u00ed\u0001\u00ed\u0001\u00ed"+
51842 "\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed"+
51843 "\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed\u0001\u00ed"+
51844 "\u0001\u00ed\u0003\u00ed\u0c5b\b\u00ed\u0003\u00ed\u0c5d\b\u00ed\u0001"+
51845 "\u00ee\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001\u00ee\u0001"+
51846 "\u00ee\u0001\u00ee\u0003\u00ee\u0c67\b\u00ee\u0001\u00ee\u0001\u00ee\u0001"+
51847 "\u00ef\u0001\u00ef\u0001\u00ef\u0003\u00ef\u0c6e\b\u00ef\u0001\u00ef\u0003"+
51848 "\u00ef\u0c71\b\u00ef\u0001\u00ef\u0001\u00ef\u0003\u00ef\u0c75\b\u00ef"+
51849 "\u0001\u00ef\u0001\u00ef\u0001\u00ef\u0001\u00ef\u0005\u00ef\u0c7b\b\u00ef"+
51850 "\n\u00ef\f\u00ef\u0c7e\t\u00ef\u0003\u00ef\u0c80\b\u00ef\u0001\u00f0\u0001"+
51851 "\u00f0\u0003\u00f0\u0c84\b\u00f0\u0001\u00f0\u0001\u00f0\u0001\u00f0\u0005"+
51852 "\u00f0\u0c89\b\u00f0\n\u00f0\f\u00f0\u0c8c\t\u00f0\u0001\u00f0\u0001\u00f0"+
51853 "\u0005\u00f0\u0c90\b\u00f0\n\u00f0\f\u00f0\u0c93\t\u00f0\u0001\u00f0\u0001"+
51854 "\u00f0\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0005\u00f1\u0c9b"+
51855 "\b\u00f1\n\u00f1\f\u00f1\u0c9e\t\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1"+
51856 "\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1"+
51857 "\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1"+
51858 "\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1"+
51859 "\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0001\u00f1\u0003\u00f1\u0cb9\b\u00f1"+
51860 "\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2\u0001\u00f2"+
51861 "\u0003\u00f2\u0cc1\b\u00f2\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0001\u00f3"+
51862 "\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0001\u00f3\u0001\u00f3"+
51863 "\u0001\u00f3\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0001\u00f4"+
51864 "\u0003\u00f4\u0cd3\b\u00f4\u0003\u00f4\u0cd5\b\u00f4\u0001\u00f4\u0001"+
51865 "\u00f4\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0003\u00f4\u0cdc\b\u00f4\u0001"+
51866 "\u00f4\u0003\u00f4\u0cdf\b\u00f4\u0003\u00f4\u0ce1\b\u00f4\u0001\u00f4"+
51867 "\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0001\u00f4\u0003\u00f4\u0ce8\b\u00f4"+
51868 "\u0003\u00f4\u0cea\b\u00f4\u0001\u00f5\u0001\u00f5\u0001\u00f5\u0003\u00f5"+
51869 "\u0cef\b\u00f5\u0001\u00f5\u0001\u00f5\u0001\u00f5\u0005\u00f5\u0cf4\b"+
51870 "\u00f5\n\u00f5\f\u00f5\u0cf7\t\u00f5\u0001\u00f6\u0001\u00f6\u0003\u00f6"+
51871 "\u0cfb\b\u00f6\u0001\u00f6\u0003\u00f6\u0cfe\b\u00f6\u0001\u00f6\u0001"+
51872 "\u00f6\u0003\u00f6\u0d02\b\u00f6\u0001\u00f7\u0001\u00f7\u0001\u00f7\u0001"+
51873 "\u00f7\u0001\u00f7\u0005\u00f7\u0d09\b\u00f7\n\u00f7\f\u00f7\u0d0c\t\u00f7"+
51874 "\u0003\u00f7\u0d0e\b\u00f7\u0001\u00f8\u0001\u00f8\u0001\u00f8\u0001\u00f8"+
51875 "\u0005\u00f8\u0d14\b\u00f8\n\u00f8\f\u00f8\u0d17\t\u00f8\u0001\u00f8\u0003"+
51876 "\u00f8\u0d1a\b\u00f8\u0001\u00f9\u0001\u00f9\u0003\u00f9\u0d1e\b\u00f9"+
51877 "\u0001\u00f9\u0001\u00f9\u0001\u00f9\u0003\u00f9\u0d23\b\u00f9\u0001\u00f9"+
51878 "\u0001\u00f9\u0001\u00f9\u0003\u00f9\u0d28\b\u00f9\u0001\u00fa\u0001\u00fa"+
51879 "\u0003\u00fa\u0d2c\b\u00fa\u0001\u00fa\u0001\u00fa\u0001\u00fb\u0001\u00fb"+
51880 "\u0001\u00fb\u0001\u00fb\u0001\u00fb\u0005\u00fb\u0d35\b\u00fb\n\u00fb"+
51881 "\f\u00fb\u0d38\t\u00fb\u0001\u00fb\u0001\u00fb\u0001\u00fc\u0001\u00fc"+
51882 "\u0003\u00fc\u0d3e\b\u00fc\u0001\u00fd\u0001\u00fd\u0001\u00fd\u0001\u00fd"+
51883 "\u0003\u00fd\u0d44\b\u00fd\u0001\u00fd\u0001\u00fd\u0003\u00fd\u0d48\b"+
51884 "\u00fd\u0001\u00fd\u0001\u00fd\u0003\u00fd\u0d4c\b\u00fd\u0001\u00fd\u0001"+
51885 "\u00fd\u0001\u00fd\u0001\u00fd\u0001\u00fd\u0001\u00fd\u0003\u00fd\u0d54"+
51886 "\b\u00fd\u0003\u00fd\u0d56\b\u00fd\u0001\u00fd\u0003\u00fd\u0d59\b\u00fd"+
51887 "\u0001\u00fd\u0001\u00fd\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0003\u00fe"+
51888 "\u0d60\b\u00fe\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0003\u00fe\u0d65\b"+
51889 "\u00fe\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0001\u00fe\u0001"+
51890 "\u00fe\u0001\u00fe\u0003\u00fe\u0d6e\b\u00fe\u0001\u00ff\u0001\u00ff\u0001"+
51891 "\u00ff\u0003\u00ff\u0d73\b\u00ff\u0001\u00ff\u0001\u00ff\u0001\u00ff\u0001"+
51892 "\u00ff\u0005\u00ff\u0d79\b\u00ff\n\u00ff\f\u00ff\u0d7c\t\u00ff\u0001\u00ff"+
51893 "\u0001\u00ff\u0001\u00ff\u0001\u00ff\u0003\u00ff\u0d82\b\u00ff\u0001\u0100"+
51894 "\u0001\u0100\u0001\u0100\u0001\u0100\u0001\u0101\u0001\u0101\u0003\u0101"+
51895 "\u0d8a\b\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001\u0101"+
51896 "\u0001\u0101\u0001\u0101\u0003\u0101\u0d93\b\u0101\u0001\u0101\u0001\u0101"+
51897 "\u0001\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001\u0101\u0001\u0101"+
51898 "\u0001\u0101\u0001\u0101\u0003\u0101\u0d9f\b\u0101\u0001\u0102\u0001\u0102"+
51899 "\u0001\u0102\u0001\u0102\u0001\u0102\u0001\u0102\u0001\u0102\u0001\u0102"+
51900 "\u0001\u0102\u0001\u0102\u0001\u0102\u0001\u0102\u0005\u0102\u0dad\b\u0102"+
51901 "\n\u0102\f\u0102\u0db0\t\u0102\u0003\u0102\u0db2\b\u0102\u0003\u0102\u0db4"+
51902 "\b\u0102\u0001\u0103\u0003\u0103\u0db7\b\u0103\u0001\u0103\u0003\u0103"+
51903 "\u0dba\b\u0103\u0001\u0103\u0003\u0103\u0dbd\b\u0103\u0001\u0103\u0003"+
51904 "\u0103\u0dc0\b\u0103\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001"+
51905 "\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001"+
51906 "\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0001\u0104\u0003"+
51907 "\u0104\u0dd2\b\u0104\u0001\u0105\u0001\u0105\u0001\u0105\u0003\u0105\u0dd7"+
51908 "\b\u0105\u0001\u0105\u0001\u0105\u0001\u0105\u0003\u0105\u0ddc\b\u0105"+
51909 "\u0001\u0105\u0001\u0105\u0001\u0105\u0003\u0105\u0de1\b\u0105\u0001\u0105"+
51910 "\u0003\u0105\u0de4\b\u0105\u0005\u0105\u0de6\b\u0105\n\u0105\f\u0105\u0de9"+
51911 "\t\u0105\u0001\u0105\u0001\u0105\u0001\u0106\u0001\u0106\u0001\u0106\u0003"+
51912 "\u0106\u0df0\b\u0106\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001"+
51913 "\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0005\u0107\u0dfa\b\u0107\n"+
51914 "\u0107\f\u0107\u0dfd\t\u0107\u0003\u0107\u0dff\b\u0107\u0001\u0107\u0003"+
51915 "\u0107\u0e02\b\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001\u0107\u0001"+
51916 "\u0107\u0001\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0001\u0108\u0001"+
51917 "\u0108\u0005\u0108\u0e0f\b\u0108\n\u0108\f\u0108\u0e12\t\u0108\u0003\u0108"+
51918 "\u0e14\b\u0108\u0001\u0108\u0003\u0108\u0e17\b\u0108\u0001\u0108\u0001"+
51919 "\u0108\u0003\u0108\u0e1b\b\u0108\u0001\u0108\u0001\u0108\u0003\u0108\u0e1f"+
51920 "\b\u0108\u0001\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001"+
51921 "\u0109\u0005\u0109\u0e27\b\u0109\n\u0109\f\u0109\u0e2a\t\u0109\u0003\u0109"+
51922 "\u0e2c\b\u0109\u0001\u0109\u0003\u0109\u0e2f\b\u0109\u0001\u0109\u0001"+
51923 "\u0109\u0001\u0109\u0001\u0109\u0001\u0109\u0001\u010a\u0001\u010a\u0001"+
51924 "\u010a\u0001\u010a\u0003\u010a\u0e3a\b\u010a\u0001\u010a\u0005\u010a\u0e3d"+
51925 "\b\u010a\n\u010a\f\u010a\u0e40\t\u010a\u0001\u010b\u0005\u010b\u0e43\b"+
51926 "\u010b\n\u010b\f\u010b\u0e46\t\u010b\u0001\u010c\u0003\u010c\u0e49\b\u010c"+
51927 "\u0001\u010c\u0003\u010c\u0e4c\b\u010c\u0001\u010c\u0001\u010c\u0001\u010c"+
51928 "\u0001\u010c\u0001\u010c\u0001\u010c\u0001\u010c\u0001\u010c\u0001\u010c"+
51929 "\u0003\u010c\u0e57\b\u010c\u0001\u010c\u0003\u010c\u0e5a\b\u010c\u0001"+
51930 "\u010c\u0001\u010c\u0001\u010c\u0003\u010c\u0e5f\b\u010c\u0003\u010c\u0e61"+
51931 "\b\u010c\u0001\u010d\u0001\u010d\u0001\u010d\u0001\u010d\u0001\u010d\u0001"+
51932 "\u010d\u0001\u010d\u0001\u010d\u0001\u010d\u0001\u010d\u0003\u010d\u0e6d"+
51933 "\b\u010d\u0001\u010d\u0003\u010d\u0e70\b\u010d\u0001\u010e\u0001\u010e"+
51934 "\u0001\u010e\u0005\u010e\u0e75\b\u010e\n\u010e\f\u010e\u0e78\t\u010e\u0003"+
51935 "\u010e\u0e7a\b\u010e\u0001\u010f\u0001\u010f\u0003\u010f\u0e7e\b\u010f"+
51936 "\u0001\u010f\u0001\u010f\u0003\u010f\u0e82\b\u010f\u0001\u010f\u0003\u010f"+
51937 "\u0e85\b\u010f\u0001\u0110\u0003\u0110\u0e88\b\u0110\u0001\u0110\u0001"+
51938 "\u0110\u0003\u0110\u0e8c\b\u0110\u0001\u0110\u0001\u0110\u0001\u0110\u0001"+
51939 "\u0111\u0001\u0111\u0001\u0111\u0001\u0111\u0005\u0111\u0e95\b\u0111\n"+
51940 "\u0111\f\u0111\u0e98\t\u0111\u0003\u0111\u0e9a\b\u0111\u0001\u0112\u0001"+
51941 "\u0112\u0001\u0112\u0001\u0112\u0001\u0112\u0003\u0112\u0ea1\b\u0112\u0001"+
51942 "\u0113\u0003\u0113\u0ea4\b\u0113\u0001\u0113\u0001\u0113\u0003\u0113\u0ea8"+
51943 "\b\u0113\u0001\u0113\u0001\u0113\u0001\u0113\u0001\u0113\u0001\u0113\u0003"+
51944 "\u0113\u0eaf\b\u0113\u0001\u0113\u0001\u0113\u0001\u0113\u0003\u0113\u0eb4"+
51945 "\b\u0113\u0001\u0113\u0001\u0113\u0001\u0113\u0001\u0113\u0001\u0113\u0001"+
51946 "\u0113\u0001\u0113\u0005\u0113\u0ebd\b\u0113\n\u0113\f\u0113\u0ec0\t\u0113"+
51947 "\u0001\u0113\u0001\u0113\u0003\u0113\u0ec4\b\u0113\u0003\u0113\u0ec6\b"+
51948 "\u0113\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001"+
51949 "\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0003"+
51950 "\u0114\u0ed3\b\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001"+
51951 "\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0001\u0114\u0003\u0114\u0ede"+
51952 "\b\u0114\u0001\u0115\u0001\u0115\u0001\u0115\u0001\u0115\u0005\u0115\u0ee4"+
51953 "\b\u0115\n\u0115\f\u0115\u0ee7\t\u0115\u0003\u0115\u0ee9\b\u0115\u0001"+
51954 "\u0115\u0001\u0115\u0003\u0115\u0eed\b\u0115\u0001\u0115\u0001\u0115\u0001"+
51955 "\u0115\u0001\u0115\u0003\u0115\u0ef3\b\u0115\u0001\u0116\u0001\u0116\u0001"+
51956 "\u0117\u0001\u0117\u0001\u0117\u0001\u0117\u0005\u0117\u0efb\b\u0117\n"+
51957 "\u0117\f\u0117\u0efe\t\u0117\u0001\u0118\u0001\u0118\u0001\u0118\u0001"+
51958 "\u0118\u0001\u0118\u0005\u0118\u0f05\b\u0118\n\u0118\f\u0118\u0f08\t\u0118"+
51959 "\u0001\u0118\u0001\u0118\u0003\u0118\u0f0c\b\u0118\u0001\u0118\u0001\u0118"+
51960 "\u0001\u0118\u0001\u0118\u0001\u0118\u0001\u0119\u0001\u0119\u0001\u0119"+
51961 "\u0001\u0119\u0001\u0119\u0003\u0119\u0f18\b\u0119\u0001\u0119\u0001\u0119"+
51962 "\u0001\u0119\u0001\u0119\u0003\u0119\u0f1e\b\u0119\u0001\u0119\u0003\u0119"+
51963 "\u0f21\b\u0119\u0001\u0119\u0003\u0119\u0f24\b\u0119\u0001\u0119\u0003"+
51964 "\u0119\u0f27\b\u0119\u0001\u0119\u0003\u0119\u0f2a\b\u0119\u0001\u0119"+
51965 "\u0003\u0119\u0f2d\b\u0119\u0001\u0119\u0003\u0119\u0f30\b\u0119\u0001"+
51966 "\u0119\u0001\u0119\u0003\u0119\u0f34\b\u0119\u0001\u0119\u0001\u0119\u0001"+
51967 "\u0119\u0003\u0119\u0f39\b\u0119\u0001\u0119\u0001\u0119\u0001\u0119\u0001"+
51968 "\u0119\u0001\u0119\u0003\u0119\u0f40\b\u0119\u0001\u011a\u0001\u011a\u0001"+
51969 "\u011a\u0001\u011a\u0001\u011a\u0003\u011a\u0f47\b\u011a\u0001\u011b\u0001"+
51970 "\u011b\u0001\u011b\u0001\u011b\u0001\u011b\u0001\u011b\u0001\u011c\u0001"+
51971 "\u011c\u0001\u011c\u0001\u011c\u0001\u011c\u0003\u011c\u0f54\b\u011c\u0001"+
51972 "\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001"+
51973 "\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0003\u011d\u0f60\b\u011d\u0001"+
51974 "\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0003\u011d\u0f66\b\u011d\u0001"+
51975 "\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001\u011d\u0001"+
51976 "\u011d\u0003\u011d\u0f6f\b\u011d\u0001\u011d\u0003\u011d\u0f72\b\u011d"+
51977 "\u0001\u011e\u0001\u011e\u0003\u011e\u0f76\b\u011e\u0001\u011e\u0001\u011e"+
51978 "\u0003\u011e\u0f7a\b\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0001\u011e"+
51979 "\u0001\u011e\u0005\u011e\u0f81\b\u011e\n\u011e\f\u011e\u0f84\t\u011e\u0001"+
51980 "\u011e\u0001\u011e\u0003\u011e\u0f88\b\u011e\u0001\u011e\u0001\u011e\u0001"+
51981 "\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0001\u011e\u0003\u011e\u0f91"+
51982 "\b\u011e\u0003\u011e\u0f93\b\u011e\u0001\u011e\u0001\u011e\u0001\u011e"+
51983 "\u0003\u011e\u0f98\b\u011e\u0003\u011e\u0f9a\b\u011e\u0001\u011f\u0001"+
51984 "\u011f\u0001\u011f\u0005\u011f\u0f9f\b\u011f\n\u011f\f\u011f\u0fa2\t\u011f"+
51985 "\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120"+
51986 "\u0005\u0120\u0faa\b\u0120\n\u0120\f\u0120\u0fad\t\u0120\u0001\u0120\u0001"+
51987 "\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0001\u0120\u0003\u0120\u0fb5"+
51988 "\b\u0120\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0003"+
51989 "\u0121\u0fbc\b\u0121\u0003\u0121\u0fbe\b\u0121\u0001\u0121\u0001\u0121"+
51990 "\u0001\u0121\u0001\u0121\u0001\u0121\u0005\u0121\u0fc5\b\u0121\n\u0121"+
51991 "\f\u0121\u0fc8\t\u0121\u0001\u0121\u0001\u0121\u0003\u0121\u0fcc\b\u0121"+
51992 "\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0003\u0121"+
51993 "\u0fd3\b\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121"+
51994 "\u0003\u0121\u0fda\b\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121"+
51995 "\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121"+
51996 "\u0001\u0121\u0001\u0121\u0001\u0121\u0001\u0121\u0005\u0121\u0fea\b\u0121"+
51997 "\n\u0121\f\u0121\u0fed\t\u0121\u0001\u0121\u0001\u0121\u0003\u0121\u0ff1"+
51998 "\b\u0121\u0001\u0121\u0001\u0121\u0003\u0121\u0ff5\b\u0121\u0001\u0122"+
51999 "\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122"+
52000 "\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122"+
52001 "\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122"+
52002 "\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122"+
52003 "\u0003\u0122\u1010\b\u0122\u0001\u0122\u0003\u0122\u1013\b\u0122\u0001"+
52004 "\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001"+
52005 "\u0122\u0003\u0122\u101c\b\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001"+
52006 "\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001"+
52007 "\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001"+
52008 "\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0001\u0122\u0005"+
52009 "\u0122\u1033\b\u0122\n\u0122\f\u0122\u1036\t\u0122\u0003\u0122\u1038\b"+
52010 "\u0122\u0003\u0122\u103a\b\u0122\u0001\u0123\u0001\u0123\u0001\u0123\u0003"+
52011 "\u0123\u103f\b\u0123\u0001\u0124\u0001\u0124\u0001\u0124\u0001\u0124\u0001"+
52012 "\u0124\u0001\u0124\u0003\u0124\u1047\b\u0124\u0001\u0125\u0001\u0125\u0001"+
52013 "\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0001"+
52014 "\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0001"+
52015 "\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0001\u0125\u0003\u0125\u105c"+
52016 "\b\u0125\u0003\u0125\u105e\b\u0125\u0001\u0126\u0001\u0126\u0001\u0126"+
52017 "\u0001\u0126\u0001\u0126\u0001\u0126\u0001\u0126\u0003\u0126\u1067\b\u0126"+
52018 "\u0001\u0126\u0003\u0126\u106a\b\u0126\u0001\u0127\u0001\u0127\u0001\u0127"+
52019 "\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127"+
52020 "\u0001\u0127\u0001\u0127\u0005\u0127\u1077\b\u0127\n\u0127\f\u0127\u107a"+
52021 "\t\u0127\u0001\u0127\u0001\u0127\u0003\u0127\u107e\b\u0127\u0001\u0127"+
52022 "\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0005\u0127\u1085\b\u0127"+
52023 "\n\u0127\f\u0127\u1088\t\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001"+
52024 "\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001"+
52025 "\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0001\u0127\u0005"+
52026 "\u0127\u1099\b\u0127\n\u0127\f\u0127\u109c\t\u0127\u0003\u0127\u109e\b"+
52027 "\u0127\u0001\u0127\u0001\u0127\u0003\u0127\u10a2\b\u0127\u0001\u0128\u0001"+
52028 "\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001\u0128\u0001"+
52029 "\u0128\u0001\u0128\u0001\u0128\u0003\u0128\u10ae\b\u0128\u0003\u0128\u10b0"+
52030 "\b\u0128\u0001\u0129\u0001\u0129\u0001\u0129\u0001\u0129\u0001\u0129\u0001"+
52031 "\u0129\u0001\u0129\u0001\u0129\u0001\u0129\u0001\u0129\u0001\u0129\u0003"+
52032 "\u0129\u10bd\b\u0129\u0003\u0129\u10bf\b\u0129\u0001\u012a\u0001\u012a"+
52033 "\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a\u0001\u012a"+
52034 "\u0003\u012a\u10c9\b\u012a\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b"+
52035 "\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b"+
52036 "\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b"+
52037 "\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b"+
52038 "\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b"+
52039 "\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b"+
52040 "\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b\u0001\u012b"+
52041 "\u0001\u012b\u0001\u012b\u0001\u012b\u0003\u012b\u10f6\b\u012b\u0001\u012c"+
52042 "\u0001\u012c\u0001\u012c\u0001\u012c\u0003\u012c\u10fc\b\u012c\u0001\u012d"+
52043 "\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
52044 "\u0003\u012d\u1105\b\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
52045 "\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d\u0001\u012d"+
52046 "\u0001\u012d\u0001\u012d\u0001\u012d\u0003\u012d\u1114\b\u012d\u0001\u012e"+
52047 "\u0001\u012e\u0003\u012e\u1118\b\u012e\u0001\u012f\u0001\u012f\u0001\u012f"+
52048 "\u0001\u012f\u0001\u012f\u0005\u012f\u111f\b\u012f\n\u012f\f\u012f\u1122"+
52049 "\t\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0003\u012f\u1127\b\u012f"+
52050 "\u0001\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0001\u012f"+
52051 "\u0005\u012f\u112f\b\u012f\n\u012f\f\u012f\u1132\t\u012f\u0001\u012f\u0001"+
52052 "\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0001\u012f\u0003\u012f\u113a"+
52053 "\b\u012f\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0001"+
52054 "\u0130\u0001\u0130\u0001\u0130\u0001\u0130\u0003\u0130\u1145\b\u0130\u0001"+
52055 "\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001"+
52056 "\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0003\u0131\u1151\b\u0131\u0003"+
52057 "\u0131\u1153\b\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001\u0131\u0001"+
52058 "\u0131\u0001\u0131\u0003\u0131\u115b\b\u0131\u0001\u0132\u0001\u0132\u0001"+
52059 "\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0132\u0001\u0133\u0001"+
52060 "\u0133\u0001\u0133\u0001\u0133\u0001\u0133\u0003\u0133\u1169\b\u0133\u0001"+
52061 "\u0133\u0001\u0133\u0001\u0133\u0001\u0133\u0005\u0133\u116f\b\u0133\n"+
52062 "\u0133\f\u0133\u1172\t\u0133\u0001\u0133\u0001\u0133\u0003\u0133\u1176"+
52063 "\b\u0133\u0003\u0133\u1178\b\u0133\u0001\u0134\u0001\u0134\u0001\u0134"+
52064 "\u0001\u0134\u0001\u0134\u0001\u0134\u0001\u0134\u0003\u0134\u1181\b\u0134"+
52065 "\u0001\u0135\u0001\u0135\u0001\u0135\u0001\u0135\u0003\u0135\u1187\b\u0135"+
52066 "\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
52067 "\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
52068 "\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136\u0001\u0136"+
52069 "\u0001\u0136\u0003\u0136\u119c\b\u0136\u0001\u0137\u0001\u0137\u0001\u0137"+
52070 "\u0001\u0137\u0001\u0137\u0003\u0137\u11a3\b\u0137\u0001\u0137\u0001\u0137"+
52071 "\u0001\u0137\u0001\u0137\u0005\u0137\u11a9\b\u0137\n\u0137\f\u0137\u11ac"+
52072 "\t\u0137\u0001\u0137\u0001\u0137\u0003\u0137\u11b0\b\u0137\u0003\u0137"+
52073 "\u11b2\b\u0137\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138"+
52074 "\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138"+
52075 "\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138"+
52076 "\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138"+
52077 "\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138"+
52078 "\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138\u0001\u0138"+
52079 "\u0001\u0138\u0001\u0138\u0005\u0138\u11d9\b\u0138\n\u0138\f\u0138\u11dc"+
52080 "\t\u0138\u0001\u0138\u0001\u0138\u0003\u0138\u11e0\b\u0138\u0001\u0139"+
52081 "\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139"+
52082 "\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139\u0001\u0139"+
52083 "\u0003\u0139\u11ef\b\u0139\u0001\u013a\u0001\u013a\u0001\u013a\u0001\u013a"+
52084 "\u0001\u013a\u0001\u013a\u0003\u013a\u11f7\b\u013a\u0001\u013b\u0001\u013b"+
52085 "\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b"+
52086 "\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b"+
52087 "\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b\u0001\u013b"+
52088 "\u0001\u013b\u0003\u013b\u120e\b\u013b\u0001\u013c\u0001\u013c\u0001\u013c"+
52089 "\u0001\u013c\u0001\u013c\u0001\u013c\u0001\u013c\u0003\u013c\u1217\b\u013c"+
52090 "\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d\u0001\u013d"+
52091 "\u0003\u013d\u121f\b\u013d\u0001\u013e\u0001\u013e\u0001\u013e\u0001\u013e"+
52092 "\u0001\u013e\u0001\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0003\u013f"+
52093 "\u122a\b\u013f\u0001\u013f\u0001\u013f\u0001\u013f\u0003\u013f\u122f\b"+
52094 "\u013f\u0001\u0140\u0001\u0140\u0001\u0140\u0001\u0140\u0005\u0140\u1235"+
52095 "\b\u0140\n\u0140\f\u0140\u1238\t\u0140\u0001\u0140\u0001\u0140\u0001\u0141"+
52096 "\u0001\u0141\u0001\u0141\u0001\u0141\u0005\u0141\u1240\b\u0141\n\u0141"+
52097 "\f\u0141\u1243\t\u0141\u0001\u0141\u0001\u0141\u0001\u0142\u0001\u0142"+
52098 "\u0001\u0142\u0001\u0142\u0001\u0142\u0001\u0142\u0003\u0142\u124d\b\u0142"+
52099 "\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143\u0001\u0143"+
52100 "\u0001\u0143\u0003\u0143\u1256\b\u0143\u0001\u0144\u0001\u0144\u0001\u0144"+
52101 "\u0001\u0144\u0001\u0144\u0003\u0144\u125d\b\u0144\u0001\u0145\u0001\u0145"+
52102 "\u0003\u0145\u1261\b\u0145\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146"+
52103 "\u0003\u0146\u1267\b\u0146\u0001\u0146\u0001\u0146\u0001\u0146\u0001\u0146"+
52104 "\u0001\u0146\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147"+
52105 "\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147\u0001\u0147"+
52106 "\u0001\u0147\u0001\u0147\u0001\u0147\u0003\u0147\u127c\b\u0147\u0001\u0147"+
52107 "\u0001\u0147\u0001\u0147\u0001\u0148\u0001\u0148\u0001\u0148\u0001\u0148"+
52108 "\u0001\u0148\u0001\u0148\u0001\u0148\u0005\u0148\u1288\b\u0148\n\u0148"+
52109 "\f\u0148\u128b\t\u0148\u0003\u0148\u128d\b\u0148\u0001\u0148\u0001\u0148"+
52110 "\u0001\u0149\u0001\u0149\u0001\u0149\u0001\u0149\u0001\u0149\u0005\u0149"+
52111 "\u1296\b\u0149\n\u0149\f\u0149\u1299\t\u0149\u0001\u0149\u0001\u0149\u0003"+
52112 "\u0149\u129d\b\u0149\u0001\u014a\u0003\u014a\u12a0\b\u014a\u0001\u014a"+
52113 "\u0001\u014a\u0003\u014a\u12a4\b\u014a\u0001\u014a\u0003\u014a\u12a7\b"+
52114 "\u014a\u0001\u014a\u0001\u014a\u0003\u014a\u12ab\b\u014a\u0001\u014a\u0003"+
52115 "\u014a\u12ae\b\u014a\u0001\u014a\u0001\u014a\u0001\u014a\u0003\u014a\u12b3"+
52116 "\b\u014a\u0001\u014b\u0003\u014b\u12b6\b\u014b\u0001\u014b\u0003\u014b"+
52117 "\u12b9\b\u014b\u0001\u014b\u0001\u014b\u0001\u014b\u0001\u014c\u0003\u014c"+
52118 "\u12bf\b\u014c\u0001\u014c\u0003\u014c\u12c2\b\u014c\u0001\u014c\u0001"+
52119 "\u014c\u0001\u014c\u0001\u014c\u0005\u014c\u12c8\b\u014c\n\u014c\f\u014c"+
52120 "\u12cb\t\u014c\u0001\u014d\u0003\u014d\u12ce\b\u014d\u0001\u014d\u0003"+
52121 "\u014d\u12d1\b\u014d\u0001\u014d\u0001\u014d\u0001\u014e\u0003\u014e\u12d6"+
52122 "\b\u014e\u0001\u014e\u0001\u014e\u0003\u014e\u12da\b\u014e\u0001\u014e"+
52123 "\u0001\u014e\u0001\u014e\u0003\u014e\u12df\b\u014e\u0001\u014e\u0001\u014e"+
52124 "\u0003\u014e\u12e3\b\u014e\u0001\u014f\u0001\u014f\u0001\u014f\u0001\u014f"+
52125 "\u0001\u0150\u0001\u0150\u0001\u0150\u0001\u0150\u0005\u0150\u12ed\b\u0150"+
52126 "\n\u0150\f\u0150\u12f0\t\u0150\u0001\u0150\u0003\u0150\u12f3\b\u0150\u0001"+
52127 "\u0151\u0001\u0151\u0001\u0151\u0001\u0151\u0005\u0151\u12f9\b\u0151\n"+
52128 "\u0151\f\u0151\u12fc\t\u0151\u0001\u0151\u0001\u0151\u0001\u0151\u0001"+
52129 "\u0151\u0003\u0151\u1302\b\u0151\u0001\u0152\u0001\u0152\u0003\u0152\u1306"+
52130 "\b\u0152\u0001\u0153\u0003\u0153\u1309\b\u0153\u0001\u0153\u0001\u0153"+
52131 "\u0003\u0153\u130d\b\u0153\u0001\u0153\u0001\u0153\u0003\u0153\u1311\b"+
52132 "\u0153\u0001\u0153\u0003\u0153\u1314\b\u0153\u0001\u0153\u0003\u0153\u1317"+
52133 "\b\u0153\u0001\u0153\u0001\u0153\u0003\u0153\u131b\b\u0153\u0001\u0154"+
52134 "\u0003\u0154\u131e\b\u0154\u0001\u0154\u0003\u0154\u1321\b\u0154\u0001"+
52135 "\u0154\u0001\u0154\u0003\u0154\u1325\b\u0154\u0001\u0154\u0003\u0154\u1328"+
52136 "\b\u0154\u0001\u0154\u0003\u0154\u132b\b\u0154\u0001\u0155\u0001\u0155"+
52137 "\u0001\u0155\u0001\u0155\u0001\u0155\u0001\u0155\u0001\u0155\u0001\u0155"+
52138 "\u0001\u0155\u0003\u0155\u1336\b\u0155\u0001\u0156\u0001\u0156\u0003\u0156"+
52139 "\u133a\b\u0156\u0001\u0156\u0001\u0156\u0001\u0156\u0003\u0156\u133f\b"+
52140 "\u0156\u0005\u0156\u1341\b\u0156\n\u0156\f\u0156\u1344\t\u0156\u0001\u0157"+
52141 "\u0001\u0157\u0001\u0158\u0001\u0158\u0001\u0158\u0003\u0158\u134b\b\u0158"+
52142 "\u0001\u0158\u0001\u0158\u0003\u0158\u134f\b\u0158\u0001\u0158\u0005\u0158"+
52143 "\u1352\b\u0158\n\u0158\f\u0158\u1355\t\u0158\u0001\u0159\u0003\u0159\u1358"+
52144 "\b\u0159\u0001\u0159\u0001\u0159\u0003\u0159\u135c\b\u0159\u0001\u0159"+
52145 "\u0001\u0159\u0003\u0159\u1360\b\u0159\u0001\u0159\u0003\u0159\u1363\b"+
52146 "\u0159\u0001\u0159\u0003\u0159\u1366\b\u0159\u0001\u0159\u0003\u0159\u1369"+
52147 "\b\u0159\u0001\u0159\u0003\u0159\u136c\b\u0159\u0001\u0159\u0003\u0159"+
52148 "\u136f\b\u0159\u0001\u015a\u0001\u015a\u0001\u015b\u0001\u015b\u0003\u015b"+
52149 "\u1375\b\u015b\u0001\u015b\u0001\u015b\u0005\u015b\u1379\b\u015b\n\u015b"+
52150 "\f\u015b\u137c\t\u015b\u0001\u015c\u0001\u015c\u0001\u015c\u0003\u015c"+
52151 "\u1381\b\u015c\u0001\u015c\u0003\u015c\u1384\b\u015c\u0001\u015c\u0003"+
52152 "\u015c\u1387\b\u015c\u0001\u015c\u0003\u015c\u138a\b\u015c\u0001\u015d"+
52153 "\u0001\u015d\u0003\u015d\u138e\b\u015d\u0001\u015d\u0001\u015d\u0003\u015d"+
52154 "\u1392\b\u015d\u0001\u015d\u0003\u015d\u1395\b\u015d\u0001\u015d\u0001"+
52155 "\u015d\u0003\u015d\u1399\b\u015d\u0001\u015d\u0001\u015d\u0001\u015d\u0001"+
52156 "\u015d\u0001\u015d\u0001\u015d\u0001\u015d\u0001\u015d\u0003\u015d\u13a3"+
52157 "\b\u015d\u0001\u015e\u0001\u015e\u0003\u015e\u13a7\b\u015e\u0001\u015f"+
52158 "\u0001\u015f\u0001\u0160\u0001\u0160\u0001\u0160\u0001\u0161\u0001\u0161"+
52159 "\u0001\u0161\u0001\u0162\u0001\u0162\u0001\u0162\u0005\u0162\u13b4\b\u0162"+
52160 "\n\u0162\f\u0162\u13b7\t\u0162\u0001\u0163\u0001\u0163\u0005\u0163\u13bb"+
52161 "\b\u0163\n\u0163\f\u0163\u13be\t\u0163\u0001\u0164\u0001\u0164\u0003\u0164"+
52162 "\u13c2\b\u0164\u0001\u0164\u0003\u0164\u13c5\b\u0164\u0001\u0164\u0001"+
52163 "\u0164\u0003\u0164\u13c9\b\u0164\u0001\u0164\u0001\u0164\u0003\u0164\u13cd"+
52164 "\b\u0164\u0001\u0164\u0001\u0164\u0001\u0164\u0001\u0164\u0003\u0164\u13d3"+
52165 "\b\u0164\u0001\u0165\u0003\u0165\u13d6\b\u0165\u0001\u0165\u0003\u0165"+
52166 "\u13d9\b\u0165\u0001\u0165\u0001\u0165\u0001\u0165\u0001\u0165\u0003\u0165"+
52167 "\u13df\b\u0165\u0001\u0165\u0003\u0165\u13e2\b\u0165\u0001\u0165\u0001"+
52168 "\u0165\u0003\u0165\u13e6\b\u0165\u0001\u0165\u0001\u0165\u0001\u0165\u0003"+
52169 "\u0165\u13eb\b\u0165\u0003\u0165\u13ed\b\u0165\u0001\u0166\u0001\u0166"+
52170 "\u0001\u0166\u0001\u0166\u0003\u0166\u13f3\b\u0166\u0001\u0167\u0001\u0167"+
52171 "\u0001\u0167\u0001\u0168\u0001\u0168\u0001\u0168\u0001\u0168\u0001\u0168"+
52172 "\u0005\u0168\u13fd\b\u0168\n\u0168\f\u0168\u1400\t\u0168\u0001\u0169\u0001"+
52173 "\u0169\u0001\u0169\u0001\u016a\u0001\u016a\u0001\u016a\u0001\u016a\u0001"+
52174 "\u016b\u0001\u016b\u0001\u016b\u0001\u016c\u0001\u016c\u0001\u016c\u0005"+
52175 "\u016c\u140f\b\u016c\n\u016c\f\u016c\u1412\t\u016c\u0001\u016d\u0001\u016d"+
52176 "\u0003\u016d\u1416\b\u016d\u0001\u016d\u0001\u016d\u0001\u016d\u0001\u016e"+
52177 "\u0001\u016e\u0001\u016e\u0003\u016e\u141e\b\u016e\u0001\u016e\u0001\u016e"+
52178 "\u0001\u016e\u0003\u016e\u1423\b\u016e\u0003\u016e\u1425\b\u016e\u0001"+
52179 "\u016f\u0001\u016f\u0001\u016f\u0005\u016f\u142a\b\u016f\n\u016f\f\u016f"+
52180 "\u142d\t\u016f\u0001\u0170\u0001\u0170\u0001\u0170\u0001\u0170\u0003\u0170"+
52181 "\u1433\b\u0170\u0001\u0170\u0003\u0170\u1436\b\u0170\u0001\u0171\u0001"+
52182 "\u0171\u0001\u0171\u0001\u0172\u0001\u0172\u0001\u0172\u0003\u0172\u143e"+
52183 "\b\u0172\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001"+
52184 "\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001"+
52185 "\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001"+
52186 "\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001"+
52187 "\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001"+
52188 "\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001"+
52189 "\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0005\u0173\u1468"+
52190 "\b\u0173\n\u0173\f\u0173\u146b\t\u0173\u0001\u0173\u0001\u0173\u0001\u0173"+
52191 "\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173"+
52192 "\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0001\u0173"+
52193 "\u0001\u0173\u0005\u0173\u147d\b\u0173\n\u0173\f\u0173\u1480\t\u0173\u0001"+
52194 "\u0173\u0001\u0173\u0001\u0173\u0001\u0173\u0003\u0173\u1486\b\u0173\u0001"+
52195 "\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001"+
52196 "\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001"+
52197 "\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001"+
52198 "\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001"+
52199 "\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001"+
52200 "\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001"+
52201 "\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001"+
52202 "\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001"+
52203 "\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0001\u0174\u0003"+
52204 "\u0174\u14be\b\u0174\u0001\u0175\u0001\u0175\u0001\u0175\u0001\u0175\u0003"+
52205 "\u0175\u14c4\b\u0175\u0001\u0176\u0001\u0176\u0001\u0176\u0001\u0176\u0001"+
52206 "\u0176\u0001\u0176\u0003\u0176\u14cc\b\u0176\u0001\u0176\u0003\u0176\u14cf"+
52207 "\b\u0176\u0001\u0176\u0001\u0176\u0001\u0176\u0001\u0176\u0001\u0176\u0001"+
52208 "\u0176\u0001\u0176\u0001\u0176\u0003\u0176\u14d9\b\u0176\u0003\u0176\u14db"+
52209 "\b\u0176\u0003\u0176\u14dd\b\u0176\u0001\u0176\u0001\u0176\u0001\u0176"+
52210 "\u0003\u0176\u14e2\b\u0176\u0003\u0176\u14e4\b\u0176\u0003\u0176\u14e6"+
52211 "\b\u0176\u0001\u0176\u0001\u0176\u0001\u0176\u0001\u0176\u0003\u0176\u14ec"+
52212 "\b\u0176\u0003\u0176\u14ee\b\u0176\u0001\u0176\u0001\u0176\u0001\u0176"+
52213 "\u0001\u0176\u0001\u0176\u0003\u0176\u14f5\b\u0176\u0001\u0176\u0001\u0176"+
52214 "\u0001\u0176\u0001\u0176\u0003\u0176\u14fb\b\u0176\u0003\u0176\u14fd\b"+
52215 "\u0176\u0003\u0176\u14ff\b\u0176\u0003\u0176\u1501\b\u0176\u0001\u0177"+
52216 "\u0001\u0177\u0001\u0177\u0003\u0177\u1506\b\u0177\u0001\u0177\u0001\u0177"+
52217 "\u0003\u0177\u150a\b\u0177\u0001\u0177\u0001\u0177\u0001\u0177\u0001\u0177"+
52218 "\u0001\u0177\u0001\u0177\u0003\u0177\u1512\b\u0177\u0003\u0177\u1514\b"+
52219 "\u0177\u0001\u0178\u0001\u0178\u0001\u0178\u0001\u0178\u0001\u0178\u0001"+
52220 "\u0178\u0001\u0178\u0001\u0178\u0003\u0178\u151e\b\u0178\u0003\u0178\u1520"+
52221 "\b\u0178\u0001\u0178\u0001\u0178\u0003\u0178\u1524\b\u0178\u0001\u0178"+
52222 "\u0001\u0178\u0003\u0178\u1528\b\u0178\u0003\u0178\u152a\b\u0178\u0001"+
52223 "\u0179\u0001\u0179\u0001\u0179\u0003\u0179\u152f\b\u0179\u0003\u0179\u1531"+
52224 "\b\u0179\u0001\u0179\u0003\u0179\u1534\b\u0179\u0001\u017a\u0001\u017a"+
52225 "\u0001\u017a\u0001\u017a\u0001\u017a\u0005\u017a\u153b\b\u017a\n\u017a"+
52226 "\f\u017a\u153e\t\u017a\u0001\u017a\u0001\u017a\u0001\u017b\u0001\u017b"+
52227 "\u0001\u017b\u0001\u017b\u0001\u017b\u0003\u017b\u1547\b\u017b\u0001\u017c"+
52228 "\u0001\u017c\u0001\u017d\u0001\u017d\u0001\u017e\u0001\u017e\u0001\u017e"+
52229 "\u0001\u017f\u0001\u017f\u0001\u017f\u0003\u017f\u1553\b\u017f\u0001\u0180"+
52230 "\u0001\u0180\u0001\u0180\u0003\u0180\u1558\b\u0180\u0001\u0180\u0001\u0180"+
52231 "\u0001\u0180\u0001\u0180\u0005\u0180\u155e\b\u0180\n\u0180\f\u0180\u1561"+
52232 "\t\u0180\u0001\u0180\u0001\u0180\u0001\u0180\u0003\u0180\u1566\b\u0180"+
52233 "\u0001\u0180\u0001\u0180\u0003\u0180\u156a\b\u0180\u0001\u0181\u0001\u0181"+
52234 "\u0001\u0181\u0003\u0181\u156f\b\u0181\u0001\u0181\u0001\u0181\u0001\u0181"+
52235 "\u0001\u0181\u0005\u0181\u1575\b\u0181\n\u0181\f\u0181\u1578\t\u0181\u0001"+
52236 "\u0181\u0001\u0181\u0001\u0181\u0003\u0181\u157d\b\u0181\u0001\u0182\u0001"+
52237 "\u0182\u0003\u0182\u1581\b\u0182\u0001\u0182\u0001\u0182\u0001\u0182\u0003"+
52238 "\u0182\u1586\b\u0182\u0005\u0182\u1588\b\u0182\n\u0182\f\u0182\u158b\t"+
52239 "\u0182\u0001\u0183\u0001\u0183\u0001\u0183\u0001\u0183\u0003\u0183\u1591"+
52240 "\b\u0183\u0001\u0183\u0001\u0183\u0001\u0184\u0001\u0184\u0001\u0184\u0005"+
52241 "\u0184\u1598\b\u0184\n\u0184\f\u0184\u159b\t\u0184\u0001\u0185\u0001\u0185"+
52242 "\u0001\u0185\u0001\u0185\u0003\u0185\u15a1\b\u0185\u0001\u0185\u0001\u0185"+
52243 "\u0001\u0186\u0001\u0186\u0001\u0186\u0003\u0186\u15a8\b\u0186\u0001\u0186"+
52244 "\u0001\u0186\u0001\u0187\u0001\u0187\u0001\u0188\u0001\u0188\u0003\u0188"+
52245 "\u15b0\b\u0188\u0001\u0188\u0001\u0188\u0003\u0188\u15b4\b\u0188\u0001"+
52246 "\u0189\u0001\u0189\u0001\u0189\u0003\u0189\u15b9\b\u0189\u0001\u0189\u0001"+
52247 "\u0189\u0001\u0189\u0001\u0189\u0005\u0189\u15bf\b\u0189\n\u0189\f\u0189"+
52248 "\u15c2\t\u0189\u0001\u0189\u0003\u0189\u15c5\b\u0189\u0001\u0189\u0001"+
52249 "\u0189\u0003\u0189\u15c9\b\u0189\u0001\u018a\u0001\u018a\u0001\u018a\u0003"+
52250 "\u018a\u15ce\b\u018a\u0001\u018a\u0001\u018a\u0001\u018a\u0001\u018a\u0005"+
52251 "\u018a\u15d4\b\u018a\n\u018a\f\u018a\u15d7\t\u018a\u0001\u018a\u0003\u018a"+
52252 "\u15da\b\u018a\u0001\u018b\u0001\u018b\u0001\u018b\u0003\u018b\u15df\b"+
52253 "\u018b\u0001\u018c\u0001\u018c\u0001\u018c\u0003\u018c\u15e4\b\u018c\u0001"+
52254 "\u018c\u0001\u018c\u0001\u018c\u0001\u018c\u0005\u018c\u15ea\b\u018c\n"+
52255 "\u018c\f\u018c\u15ed\t\u018c\u0001\u018c\u0003\u018c\u15f0\b\u018c\u0001"+
52256 "\u018c\u0001\u018c\u0003\u018c\u15f4\b\u018c\u0001\u018d\u0001\u018d\u0001"+
52257 "\u018d\u0003\u018d\u15f9\b\u018d\u0001\u018d\u0001\u018d\u0001\u018d\u0001"+
52258 "\u018d\u0005\u018d\u15ff\b\u018d\n\u018d\f\u018d\u1602\t\u018d\u0001\u018d"+
52259 "\u0003\u018d\u1605\b\u018d\u0001\u018e\u0001\u018e\u0001\u018e\u0001\u018e"+
52260 "\u0001\u018f\u0001\u018f\u0003\u018f\u160d\b\u018f\u0001\u018f\u0001\u018f"+
52261 "\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f"+
52262 "\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f"+
52263 "\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0001\u018f\u0003\u018f"+
52264 "\u1622\b\u018f\u0001\u0190\u0001\u0190\u0001\u0190\u0001\u0190\u0001\u0190"+
52265 "\u0001\u0190\u0001\u0190\u0001\u0190\u0001\u0190\u0001\u0190\u0001\u0190"+
52266 "\u0001\u0190\u0001\u0190\u0001\u0190\u0001\u0190\u0001\u0190\u0003\u0190"+
52267 "\u1634\b\u0190\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
52268 "\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0003\u0191\u163f\b\u0191"+
52269 "\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
52270 "\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
52271 "\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
52272 "\u0001\u0191\u0003\u0191\u1654\b\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
52273 "\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
52274 "\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
52275 "\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
52276 "\u0001\u0191\u0001\u0191\u0001\u0191\u0003\u0191\u166e\b\u0191\u0001\u0191"+
52277 "\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
52278 "\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
52279 "\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191\u0001\u0191"+
52280 "\u0003\u0191\u1683\b\u0191\u0001\u0192\u0001\u0192\u0003\u0192\u1687\b"+
52281 "\u0192\u0001\u0192\u0001\u0192\u0001\u0192\u0003\u0192\u168c\b\u0192\u0001"+
52282 "\u0192\u0001\u0192\u0001\u0192\u0001\u0192\u0001\u0192\u0001\u0192\u0001"+
52283 "\u0192\u0003\u0192\u1695\b\u0192\u0003\u0192\u1697\b\u0192\u0001\u0193"+
52284 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52285 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52286 "\u0001\u0193\u0001\u0193\u0001\u0193\u0003\u0193\u16a9\b\u0193\u0001\u0193"+
52287 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52288 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52289 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0003\u0193"+
52290 "\u16bd\b\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52291 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0003\u0193\u16c8\b\u0193"+
52292 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52293 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52294 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0003\u0193"+
52295 "\u16db\b\u0193\u0001\u0193\u0001\u0193\u0003\u0193\u16df\b\u0193\u0001"+
52296 "\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0003"+
52297 "\u0193\u16e7\b\u0193\u0001\u0193\u0001\u0193\u0003\u0193\u16eb\b\u0193"+
52298 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52299 "\u0001\u0193\u0001\u0193\u0001\u0193\u0003\u0193\u16f6\b\u0193\u0001\u0193"+
52300 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52301 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52302 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52303 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52304 "\u0001\u0193\u0003\u0193\u1712\b\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52305 "\u0001\u0193\u0003\u0193\u1718\b\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52306 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52307 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52308 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52309 "\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52310 "\u0003\u0193\u1735\b\u0193\u0001\u0193\u0001\u0193\u0001\u0193\u0001\u0193"+
52311 "\u0001\u0193\u0003\u0193\u173c\b\u0193\u0001\u0193\u0001\u0193\u0003\u0193"+
52312 "\u1740\b\u0193\u0001\u0194\u0001\u0194\u0001\u0194\u0003\u0194\u1745\b"+
52313 "\u0194\u0001\u0195\u0001\u0195\u0001\u0195\u0001\u0195\u0001\u0195\u0001"+
52314 "\u0195\u0001\u0195\u0001\u0195\u0003\u0195\u174f\b\u0195\u0001\u0196\u0001"+
52315 "\u0196\u0001\u0196\u0001\u0196\u0001\u0196\u0001\u0196\u0001\u0196\u0001"+
52316 "\u0196\u0001\u0196\u0003\u0196\u175a\b\u0196\u0001\u0197\u0001\u0197\u0001"+
52317 "\u0197\u0001\u0197\u0001\u0197\u0001\u0197\u0001\u0197\u0001\u0197\u0003"+
52318 "\u0197\u1764\b\u0197\u0001\u0198\u0001\u0198\u0001\u0198\u0001\u0198\u0001"+
52319 "\u0198\u0001\u0198\u0001\u0198\u0003\u0198\u176d\b\u0198\u0001\u0199\u0001"+
52320 "\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001"+
52321 "\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001"+
52322 "\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001\u0199\u0001"+
52323 "\u0199\u0003\u0199\u1783\b\u0199\u0001\u019a\u0001\u019a\u0001\u019a\u0001"+
52324 "\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001\u019a\u0001"+
52325 "\u019a\u0001\u019a\u0003\u019a\u1790\b\u019a\u0001\u019b\u0001\u019b\u0001"+
52326 "\u019b\u0001\u019b\u0001\u019b\u0003\u019b\u1797\b\u019b\u0001\u019c\u0001"+
52327 "\u019c\u0001\u019c\u0001\u019c\u0001\u019c\u0001\u019c\u0001\u019c\u0001"+
52328 "\u019c\u0001\u019c\u0001\u019c\u0003\u019c\u17a3\b\u019c\u0001\u019d\u0001"+
52329 "\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0001"+
52330 "\u019d\u0001\u019d\u0001\u019d\u0001\u019d\u0003\u019d\u17b0\b\u019d\u0001"+
52331 "\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0001"+
52332 "\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0001\u019e\u0003\u019e\u17bd"+
52333 "\b\u019e\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0001"+
52334 "\u019f\u0001\u019f\u0001\u019f\u0001\u019f\u0003\u019f\u17c8\b\u019f\u0001"+
52335 "\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0001"+
52336 "\u01a0\u0001\u01a0\u0001\u01a0\u0001\u01a0\u0003\u01a0\u17d4\b\u01a0\u0001"+
52337 "\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0003\u01a1\u17da\b\u01a1\u0001"+
52338 "\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0003\u01a1\u17e0\b\u01a1\u0001"+
52339 "\u01a1\u0001\u01a1\u0001\u01a1\u0001\u01a1\u0003\u01a1\u17e6\b\u01a1\u0001"+
52340 "\u01a2\u0001\u01a2\u0001\u01a2\u0001\u01a2\u0001\u01a2\u0001\u01a2\u0001"+
52341 "\u01a2\u0001\u01a2\u0001\u01a2\u0001\u01a2\u0003\u01a2\u17f2\b\u01a2\u0001"+
52342 "\u01a3\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0001"+
52343 "\u01a3\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0001\u01a3\u0003\u01a3\u17ff"+
52344 "\b\u01a3\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001"+
52345 "\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0001\u01a4\u0003"+
52346 "\u01a4\u180c\b\u01a4\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001"+
52347 "\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0001\u01a5\u0003"+
52348 "\u01a5\u1818\b\u01a5\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0003"+
52349 "\u01a6\u181e\b\u01a6\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0003"+
52350 "\u01a6\u1824\b\u01a6\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0001\u01a6\u0001"+
52351 "\u01a6\u0003\u01a6\u182b\b\u01a6\u0001\u01a7\u0001\u01a7\u0003\u01a7\u182f"+
52352 "\b\u01a7\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001"+
52353 "\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0001\u01a8\u0003"+
52354 "\u01a8\u183c\b\u01a8\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001"+
52355 "\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001\u01a9\u0001"+
52356 "\u01a9\u0003\u01a9\u1849\b\u01a9\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0001"+
52357 "\u01aa\u0001\u01aa\u0001\u01aa\u0001\u01aa\u0003\u01aa\u1852\b\u01aa\u0001"+
52358 "\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001\u01ab\u0001"+
52359 "\u01ab\u0001\u01ab\u0003\u01ab\u185c\b\u01ab\u0001\u01ac\u0001\u01ac\u0001"+
52360 "\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ad\u0001\u01ae\u0001\u01ae\u0001"+
52361 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
52362 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
52363 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
52364 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
52365 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
52366 "\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001\u01ae\u0001"+
52367 "\u01ae\u0001\u01ae\u0003\u01ae\u188c\b\u01ae\u0001\u01af\u0001\u01af\u0001"+
52368 "\u01b0\u0001\u01b0\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0001\u01b1\u0003"+
52369 "\u01b1\u1896\b\u01b1\u0003\u01b1\u1898\b\u01b1\u0001\u01b2\u0001\u01b2"+
52370 "\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2\u0001\u01b2"+
52371 "\u0001\u01b2\u0001\u01b2\u0003\u01b2\u18a4\b\u01b2\u0001\u01b3\u0001\u01b3"+
52372 "\u0001\u01b3\u0001\u01b3\u0003\u01b3\u18aa\b\u01b3\u0001\u01b3\u0001\u01b3"+
52373 "\u0001\u01b3\u0001\u01b3\u0005\u01b3\u18b0\b\u01b3\n\u01b3\f\u01b3\u18b3"+
52374 "\t\u01b3\u0003\u01b3\u18b5\b\u01b3\u0001\u01b4\u0001\u01b4\u0001\u01b4"+
52375 "\u0001\u01b4\u0001\u01b4\u0005\u01b4\u18bc\b\u01b4\n\u01b4\f\u01b4\u18bf"+
52376 "\t\u01b4\u0003\u01b4\u18c1\b\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4"+
52377 "\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4"+
52378 "\u0005\u01b4\u18cc\b\u01b4\n\u01b4\f\u01b4\u18cf\t\u01b4\u0003\u01b4\u18d1"+
52379 "\b\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0001\u01b4\u0003"+
52380 "\u01b4\u18d8\b\u01b4\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0003"+
52381 "\u01b5\u18de\b\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001"+
52382 "\u01b5\u0003\u01b5\u18e5\b\u01b5\u0001\u01b5\u0001\u01b5\u0001\u01b5\u0001"+
52383 "\u01b5\u0005\u01b5\u18eb\b\u01b5\n\u01b5\f\u01b5\u18ee\t\u01b5\u0003\u01b5"+
52384 "\u18f0\b\u01b5\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6"+
52385 "\u0001\u01b6\u0001\u01b6\u0005\u01b6\u18f9\b\u01b6\n\u01b6\f\u01b6\u18fc"+
52386 "\t\u01b6\u0003\u01b6\u18fe\b\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6"+
52387 "\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0001\u01b6\u0003\u01b6\u1907\b\u01b6"+
52388 "\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7"+
52389 "\u0001\u01b7\u0003\u01b7\u1910\b\u01b7\u0001\u01b7\u0001\u01b7\u0001\u01b7"+
52390 "\u0001\u01b7\u0001\u01b7\u0001\u01b7\u0003\u01b7\u1918\b\u01b7\u0003\u01b7"+
52391 "\u191a\b\u01b7\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8\u0001\u01b8"+
52392 "\u0001\u01b8\u0001\u01b8\u0003\u01b8\u1923\b\u01b8\u0001\u01b8\u0001\u01b8"+
52393 "\u0001\u01b8\u0003\u01b8\u1928\b\u01b8\u0003\u01b8\u192a\b\u01b8\u0001"+
52394 "\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0003\u01b9\u1930\b\u01b9\u0001"+
52395 "\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001\u01b9\u0001"+
52396 "\u01b9\u0005\u01b9\u1939\b\u01b9\n\u01b9\f\u01b9\u193c\t\u01b9\u0003\u01b9"+
52397 "\u193e\b\u01b9\u0003\u01b9\u1940\b\u01b9\u0001\u01ba\u0001\u01ba\u0001"+
52398 "\u01ba\u0001\u01ba\u0001\u01ba\u0001\u01ba\u0003\u01ba\u1948\b\u01ba\u0001"+
52399 "\u01ba\u0001\u01ba\u0001\u01ba\u0001\u01ba\u0003\u01ba\u194e\b\u01ba\u0001"+
52400 "\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001\u01bb\u0001"+
52401 "\u01bb\u0001\u01bb\u0003\u01bb\u1958\b\u01bb\u0001\u01bc\u0001\u01bc\u0001"+
52402 "\u01bd\u0001\u01bd\u0001\u01be\u0001\u01be\u0001\u01bf\u0001\u01bf\u0001"+
52403 "\u01bf\u0003\u01bf\u1963\b\u01bf\u0001\u01c0\u0001\u01c0\u0001\u01c0\u0003"+
52404 "\u01c0\u1968\b\u01c0\u0001\u01c0\u0001\u01c0\u0001\u01c1\u0001\u01c1\u0001"+
52405 "\u01c1\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0001\u01c1\u0005\u01c1\u1973"+
52406 "\b\u01c1\n\u01c1\f\u01c1\u1976\t\u01c1\u0001\u01c1\u0001\u01c1\u0001\u01c1"+
52407 "\u0003\u01c1\u197b\b\u01c1\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2"+
52408 "\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0003\u01c2\u1984\b\u01c2\u0001\u01c2"+
52409 "\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2\u0001\u01c2"+
52410 "\u0001\u01c2\u0001\u01c2\u0003\u01c2\u198f\b\u01c2\u0001\u01c2\u0001\u01c2"+
52411 "\u0001\u01c2\u0001\u01c2\u0003\u01c2\u1995\b\u01c2\u0001\u01c2\u0001\u01c2"+
52412 "\u0001\u01c2\u0003\u01c2\u199a\b\u01c2\u0003\u01c2\u199c\b\u01c2\u0001"+
52413 "\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0001\u01c3\u0003\u01c3\u19a3"+
52414 "\b\u01c3\u0001\u01c4\u0001\u01c4\u0001\u01c4\u0003\u01c4\u19a8\b\u01c4"+
52415 "\u0001\u01c4\u0001\u01c4\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0001\u01c5"+
52416 "\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0001\u01c5"+
52417 "\u0001\u01c5\u0001\u01c5\u0001\u01c5\u0003\u01c5\u19b9\b\u01c5\u0001\u01c6"+
52418 "\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6\u0001\u01c6"+
52419 "\u0001\u01c6\u0003\u01c6\u19c3\b\u01c6\u0001\u01c7\u0001\u01c7\u0001\u01c7"+
52420 "\u0001\u01c7\u0003\u01c7\u19c9\b\u01c7\u0001\u01c8\u0001\u01c8\u0001\u01c8"+
52421 "\u0001\u01c8\u0001\u01c8\u0001\u01c8\u0003\u01c8\u19d1\b\u01c8\u0001\u01c8"+
52422 "\u0003\u01c8\u19d4\b\u01c8\u0001\u01c8\u0001\u01c8\u0001\u01c8\u0001\u01c8"+
52423 "\u0005\u01c8\u19da\b\u01c8\n\u01c8\f\u01c8\u19dd\t\u01c8\u0003\u01c8\u19df"+
52424 "\b\u01c8\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001"+
52425 "\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001"+
52426 "\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001\u01c9\u0001"+
52427 "\u01c9\u0003\u01c9\u19f3\b\u01c9\u0001\u01ca\u0001\u01ca\u0001\u01cb\u0001"+
52428 "\u01cb\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0005"+
52429 "\u01cc\u19fe\b\u01cc\n\u01cc\f\u01cc\u1a01\t\u01cc\u0003\u01cc\u1a03\b"+
52430 "\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0001\u01cc\u0003"+
52431 "\u01cc\u1a0a\b\u01cc\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001\u01cd\u0001"+
52432 "\u01cd\u0001\u01cd\u0003\u01cd\u1a12\b\u01cd\u0001\u01ce\u0001\u01ce\u0001"+
52433 "\u01ce\u0001\u01ce\u0001\u01ce\u0001\u01ce\u0001\u01ce\u0005\u01ce\u1a1b"+
52434 "\b\u01ce\n\u01ce\f\u01ce\u1a1e\t\u01ce\u0003\u01ce\u1a20\b\u01ce\u0001"+
52435 "\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001\u01cf\u0001"+
52436 "\u01cf\u0003\u01cf\u1a29\b\u01cf\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0003"+
52437 "\u01d0\u1a2e\b\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0001\u01d0\u0005"+
52438 "\u01d0\u1a34\b\u01d0\n\u01d0\f\u01d0\u1a37\t\u01d0\u0001\u01d1\u0001\u01d1"+
52439 "\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1"+
52440 "\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0001\u01d1\u0003\u01d1\u1a45\b\u01d1"+
52441 "\u0001\u01d2\u0001\u01d2\u0001\u01d2\u0001\u01d3\u0001\u01d3\u0001\u01d3"+
52442 "\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0001\u01d3\u0003\u01d3\u1a51\b\u01d3"+
52443 "\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0001\u01d4\u0003\u01d4\u1a57\b\u01d4"+
52444 "\u0001\u01d5\u0001\u01d5\u0001\u01d5\u0001\u01d5\u0003\u01d5\u1a5d\b\u01d5"+
52445 "\u0001\u01d5\u0001\u01d5\u0001\u01d5\u0001\u01d5\u0005\u01d5\u1a63\b\u01d5"+
52446 "\n\u01d5\f\u01d5\u1a66\t\u01d5\u0003\u01d5\u1a68\b\u01d5\u0001\u01d6\u0001"+
52447 "\u01d6\u0001\u01d6\u0001\u01d6\u0001\u01d6\u0001\u01d6\u0003\u01d6\u1a70"+
52448 "\b\u01d6\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d7\u0001\u01d8\u0001"+
52449 "\u01d8\u0001\u01d8\u0001\u01d8\u0001\u01d8\u0001\u01d8\u0001\u01d8\u0001"+
52450 "\u01d8\u0005\u01d8\u1a7e\b\u01d8\n\u01d8\f\u01d8\u1a81\t\u01d8\u0001\u01d8"+
52451 "\u0003\u01d8\u1a84\b\u01d8\u0001\u01d9\u0001\u01d9\u0001\u01da\u0001\u01da"+
52452 "\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0003\u01da\u1a8e\b\u01da"+
52453 "\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0003\u01da"+
52454 "\u1a95\b\u01da\u0003\u01da\u1a97\b\u01da\u0001\u01da\u0001\u01da\u0001"+
52455 "\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001"+
52456 "\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001"+
52457 "\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0001\u01da\u0003"+
52458 "\u01da\u1aad\b\u01da\u0001\u01db\u0001\u01db\u0001\u01dc\u0001\u01dc\u0001"+
52459 "\u01dc\u0001\u01dc\u0001\u01dc\u0001\u01dc\u0003\u01dc\u1ab7\b\u01dc\u0001"+
52460 "\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0001\u01dd\u0003\u01dd\u1abe"+
52461 "\b\u01dd\u0001\u01dd\u0000\u0004bjpr\u01de\u0000\u0002\u0004\u0006\b\n"+
52462 "\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.0246"+
52463 "8:<>@BDFHJLNPRTVXZ\\^`bdfhjlnprtvxz|~\u0080\u0082\u0084\u0086\u0088\u008a"+
52464 "\u008c\u008e\u0090\u0092\u0094\u0096\u0098\u009a\u009c\u009e\u00a0\u00a2"+
52465 "\u00a4\u00a6\u00a8\u00aa\u00ac\u00ae\u00b0\u00b2\u00b4\u00b6\u00b8\u00ba"+
52466 "\u00bc\u00be\u00c0\u00c2\u00c4\u00c6\u00c8\u00ca\u00cc\u00ce\u00d0\u00d2"+
52467 "\u00d4\u00d6\u00d8\u00da\u00dc\u00de\u00e0\u00e2\u00e4\u00e6\u00e8\u00ea"+
52468 "\u00ec\u00ee\u00f0\u00f2\u00f4\u00f6\u00f8\u00fa\u00fc\u00fe\u0100\u0102"+
52469 "\u0104\u0106\u0108\u010a\u010c\u010e\u0110\u0112\u0114\u0116\u0118\u011a"+
52470 "\u011c\u011e\u0120\u0122\u0124\u0126\u0128\u012a\u012c\u012e\u0130\u0132"+
52471 "\u0134\u0136\u0138\u013a\u013c\u013e\u0140\u0142\u0144\u0146\u0148\u014a"+
52472 "\u014c\u014e\u0150\u0152\u0154\u0156\u0158\u015a\u015c\u015e\u0160\u0162"+
52473 "\u0164\u0166\u0168\u016a\u016c\u016e\u0170\u0172\u0174\u0176\u0178\u017a"+
52474 "\u017c\u017e\u0180\u0182\u0184\u0186\u0188\u018a\u018c\u018e\u0190\u0192"+
52475 "\u0194\u0196\u0198\u019a\u019c\u019e\u01a0\u01a2\u01a4\u01a6\u01a8\u01aa"+
52476 "\u01ac\u01ae\u01b0\u01b2\u01b4\u01b6\u01b8\u01ba\u01bc\u01be\u01c0\u01c2"+
52477 "\u01c4\u01c6\u01c8\u01ca\u01cc\u01ce\u01d0\u01d2\u01d4\u01d6\u01d8\u01da"+
52478 "\u01dc\u01de\u01e0\u01e2\u01e4\u01e6\u01e8\u01ea\u01ec\u01ee\u01f0\u01f2"+
52479 "\u01f4\u01f6\u01f8\u01fa\u01fc\u01fe\u0200\u0202\u0204\u0206\u0208\u020a"+
52480 "\u020c\u020e\u0210\u0212\u0214\u0216\u0218\u021a\u021c\u021e\u0220\u0222"+
52481 "\u0224\u0226\u0228\u022a\u022c\u022e\u0230\u0232\u0234\u0236\u0238\u023a"+
52482 "\u023c\u023e\u0240\u0242\u0244\u0246\u0248\u024a\u024c\u024e\u0250\u0252"+
52483 "\u0254\u0256\u0258\u025a\u025c\u025e\u0260\u0262\u0264\u0266\u0268\u026a"+
52484 "\u026c\u026e\u0270\u0272\u0274\u0276\u0278\u027a\u027c\u027e\u0280\u0282"+
52485 "\u0284\u0286\u0288\u028a\u028c\u028e\u0290\u0292\u0294\u0296\u0298\u029a"+
52486 "\u029c\u029e\u02a0\u02a2\u02a4\u02a6\u02a8\u02aa\u02ac\u02ae\u02b0\u02b2"+
52487 "\u02b4\u02b6\u02b8\u02ba\u02bc\u02be\u02c0\u02c2\u02c4\u02c6\u02c8\u02ca"+
52488 "\u02cc\u02ce\u02d0\u02d2\u02d4\u02d6\u02d8\u02da\u02dc\u02de\u02e0\u02e2"+
52489 "\u02e4\u02e6\u02e8\u02ea\u02ec\u02ee\u02f0\u02f2\u02f4\u02f6\u02f8\u02fa"+
52490 "\u02fc\u02fe\u0300\u0302\u0304\u0306\u0308\u030a\u030c\u030e\u0310\u0312"+
52491 "\u0314\u0316\u0318\u031a\u031c\u031e\u0320\u0322\u0324\u0326\u0328\u032a"+
52492 "\u032c\u032e\u0330\u0332\u0334\u0336\u0338\u033a\u033c\u033e\u0340\u0342"+
52493 "\u0344\u0346\u0348\u034a\u034c\u034e\u0350\u0352\u0354\u0356\u0358\u035a"+
52494 "\u035c\u035e\u0360\u0362\u0364\u0366\u0368\u036a\u036c\u036e\u0370\u0372"+
52495 "\u0374\u0376\u0378\u037a\u037c\u037e\u0380\u0382\u0384\u0386\u0388\u038a"+
52496 "\u038c\u038e\u0390\u0392\u0394\u0396\u0398\u039a\u039c\u039e\u03a0\u03a2"+
52497 "\u03a4\u03a6\u03a8\u03aa\u03ac\u03ae\u03b0\u03b2\u03b4\u03b6\u03b8\u03ba"+
52498 "\u0000^\u0002\u0000``\u0115\u0115\u0002\u0000\u00ec\u00ec\u0128\u0128"+
52499 "\u0002\u0000\u02ae\u02ae\u02b5\u02b5\u0001\u0000\u000f\u0010\u0001\u0000"+
52500 "\u0085\u0087\u0001\u0000kl1\u000056EFQQttyz~\u007f\u0083\u0083\u0085\u0085"+
52501 "\u0088\u0089\u008b\u008b\u008d\u008e\u0092\u0097\u009a\u009b\u009d\u009d"+
52502 "\u009f\u00a0\u00a2\u00a4\u00a7\u00a8\u00ab\u00ab\u00ae\u00ae\u00c9\u00ca"+
52503 "\u00cf\u00cf\u00d3\u00d3\u00d6\u00d6\u00d8\u00de\u00e0\u00e1\u00ea\u00eb"+
52504 "\u00ee\u00f2\u00f4\u00f5\u00f7\u0101\u0103\u0108\u010a\u0112\u0114\u0129"+
52505 "\u0131\u01a3\u01a5\u01a5\u01ab\u01ab\u01b7\u01b9\u01de\u01de\u01e0\u01e6"+
52506 "\u01e8\u01ed\u01f0\u01f0\u01f2\u01f7\u01fc\u01fc\u0201\u0202\u0204\u0206"+
52507 "\u0208\u020a\u020c\u0215\u0220\u0281\u028f\u028f\u0293\u0293\u0002\u0000"+
52508 "\u02ac\u02ac\u02ae\u02ae\u0002\u0000\u0004\u0004ff\u0002\u0000\u0005\u0005"+
52509 "gg\u0002\u0000\u0006\u0006ii\u0002\u0000jl\u00df\u00df\u0001\u0000pq\u0001"+
52510 "\u0000\u0018\u001d\u0003\u0000\u0006\u0007\u000f\u0010\u00d6\u00d6\u0001"+
52511 "\u0000\u0093\u0097\u0001\u0000\u00dd\u00de\u0002\u0000\u00a7\u00a7\u01a5"+
52512 "\u01a5\u0001\u0000vw\u0002\u0000\u00f5\u00f5\u00ff\u00ff\b\u0000\u0081"+
52513 "\u0081\u0085\u0086\u00ab\u00ad\u00af\u00b7\u00d6\u00d6\u014a\u014a\u01a7"+
52514 "\u01b6\u02ac\u02ac\u0002\u0000\u00de\u00de\u011e\u011e\u0002\u0000\u0182"+
52515 "\u0182\u0193\u0193\u0005\u0000\u00dd\u00dd\u00f4\u00f4\u0113\u0113\u0118"+
52516 "\u0118\u017f\u017f\t\u0000\u0116\u0116\u0122\u0122\u017b\u017c\u0182\u0182"+
52517 "\u018b\u018c\u0190\u0191\u0196\u0196\u01a2\u01a2\u01d8\u01d8\u0003\u0000"+
52518 "\u00f0\u00f0\u0113\u0113\u0125\u0125\u0001\u0000\u012b\u012c\u0002\u0000"+
52519 "\u00ae\u00ae\u0114\u0114\u0001\u0000GH\u0002\u0000\u00eb\u00eb\u0102\u0102"+
52520 "\u0002\u0000\u00fd\u00fd\u011d\u011d\u0001\u0000\u00f1\u00f2\u0001\u0000"+
52521 "01\u0002\u0000jj\u0098\u0098\u0003\u0000\u00dd\u00dd\u0113\u0113\u0118"+
52522 "\u0118\u0002\u0000\u010a\u010b\u0119\u0119\u0001\u0000\u018e\u018f\u0001"+
52523 "\u0000Z[\u0002\u0000\u00e3\u00e3\u0112\u0112\u0001\u0000\u009a\u009b\u0003"+
52524 "\u0000\u008a\u008a\u008c\u008e\u00f7\u00fa\u0003\u0000;;\u009b\u009b\u00ef"+
52525 "\u00ef\u0002\u0000\u0113\u0113\u01dd\u01dd\u0003\u0000WW\u00c9\u00c9\u0115"+
52526 "\u0115\u0001\u0000\u01e3\u01e6\u0002\u0000\r\r\u01e3\u01e6\u0001\u0000"+
52527 "\u01ed\u01ee\u0001\u0000\u01ef\u01f2\u0002\u0000\u00c9\u00c9\u01f3\u01f4"+
52528 "\u0003\u0000\u00d1\u00d1\u01b7\u01b7\u01fb\u01fb\u0003\u0000\u015b\u015b"+
52529 "\u01f6\u01f6\u0206\u0206\u0002\u0000\u00eb\u00eb\u020f\u020f\u0002\u0000"+
52530 "pp\u00e5\u00e5\u0001\u0000\u026f\u0270\u0001\u0000\u01e4\u01e5\u0004\u0000"+
52531 "``\u0115\u0115\u0213\u0213\u0269\u0269\u0002\u0000\u0116\u0116\u0267\u0268"+
52532 "\u0002\u0000\u00c9\u00c9\u021e\u021e\u0001\u0000\u0264\u0266\u0002\u0000"+
52533 "\u00c7\u00c7\u0261\u0262\u0001\u0000\u00c6\u00c7\u0001\u0000\u021b\u021c"+
52534 "\u0002\u0000\u00d1\u00d1\u021d\u021d\u0002\u0000\u00fa\u00fb\u0251\u0251"+
52535 "\u0002\u0000\u00a4\u00a4\u024f\u024f\u0002\u0000\u00ef\u00ef\u0115\u0115"+
52536 "\u0004\u0000pp\u00ef\u00ef\u0113\u0113\u024a\u024a\u0002\u0000\u00fa\u00fa"+
52537 "\u0251\u0251\u0003\u0000WW\u00c6\u00c6\u023b\u023b\u0002\u0000\u0113\u0113"+
52538 "\u0239\u023a\u0002\u0000\u00fb\u00fb\u0225\u0225\u0002\u0000NNpp\u0002"+
52539 "\u0000XX\\\\\u0002\u0000WWZ[\u0001\u0000\u01b8\u01b9\u0002\u0000ss\u0107"+
52540 "\u0107\u0003\u0000\u00bd\u00bd\u0107\u0107\u0132\u0132\u0002\u0000\u00bd"+
52541 "\u00be\u0107\u0107\u0002\u0000\u009b\u009b\u00c2\u00c2\u0001\u0000\u02a2"+
52542 "\u02a3\u0002\u0000\u00ef\u00ef\u02a5\u02a5\u0002\u0000TTee\u0002\u0000"+
52543 "\u00ca\u00ca\u0135\u0135\u0002\u0000\u012d\u012d\u0146\u0146\u0002\u0000"+
52544 "\u00ca\u00ca\u0173\u0173\u0001\u0000\u0138\u0139\u0001\u0000\u015b\u015c"+
52545 "\u0002\u0000\u00ca\u00ca\u013a\u013a\u0002\u0000..\u012b\u012b\u0002\u0000"+
52546 "\u0130\u0130\u028e\u028e\u0005\u000066\u00ca\u00ca\u00e9\u00ea\u010e\u010e"+
52547 "\u0114\u0114\u0002\u0000TTdd\u0002\u0000\u02b3\u02b3\u02b5\u02b5\u0002"+
52548 "\u0000\u0295\u0295\u029a\u029a\u1e7e\u0000\u03f6\u0001\u0000\u0000\u0000"+
52549 "\u0002\u03fb\u0001\u0000\u0000\u0000\u0004\u0409\u0001\u0000\u0000\u0000"+
52550 "\u0006\u040b\u0001\u0000\u0000\u0000\b\u040f\u0001\u0000\u0000\u0000\n"+
52551 "\u0411\u0001\u0000\u0000\u0000\f\u0421\u0001\u0000\u0000\u0000\u000e\u0428"+
52552 "\u0001\u0000\u0000\u0000\u0010\u0438\u0001\u0000\u0000\u0000\u0012\u043c"+
52553 "\u0001\u0000\u0000\u0000\u0014\u0444\u0001\u0000\u0000\u0000\u0016\u0448"+
52554 "\u0001\u0000\u0000\u0000\u0018\u044e\u0001\u0000\u0000\u0000\u001a\u0457"+
52555 "\u0001\u0000\u0000\u0000\u001c\u0459\u0001\u0000\u0000\u0000\u001e\u045c"+
52556 "\u0001\u0000\u0000\u0000 \u0467\u0001\u0000\u0000\u0000\"\u0469\u0001"+
52557 "\u0000\u0000\u0000$\u046b\u0001\u0000\u0000\u0000&\u046d\u0001\u0000\u0000"+
52558 "\u0000(\u046f\u0001\u0000\u0000\u0000*\u0473\u0001\u0000\u0000\u0000,"+
52559 "\u0477\u0001\u0000\u0000\u0000.\u0479\u0001\u0000\u0000\u00000\u047b\u0001"+
52560 "\u0000\u0000\u00002\u047d\u0001\u0000\u0000\u00004\u047f\u0001\u0000\u0000"+
52561 "\u00006\u0484\u0001\u0000\u0000\u00008\u048b\u0001\u0000\u0000\u0000:"+
52562 "\u0495\u0001\u0000\u0000\u0000<\u049c\u0001\u0000\u0000\u0000>\u04a3\u0001"+
52563 "\u0000\u0000\u0000@\u04b3\u0001\u0000\u0000\u0000B\u04ba\u0001\u0000\u0000"+
52564 "\u0000D\u04be\u0001\u0000\u0000\u0000F\u04c0\u0001\u0000\u0000\u0000H"+
52565 "\u04c5\u0001\u0000\u0000\u0000J\u04cb\u0001\u0000\u0000\u0000L\u04d0\u0001"+
52566 "\u0000\u0000\u0000N\u04d2\u0001\u0000\u0000\u0000P\u04d4\u0001\u0000\u0000"+
52567 "\u0000R\u04df\u0001\u0000\u0000\u0000T\u04eb\u0001\u0000\u0000\u0000V"+
52568 "\u04f8\u0001\u0000\u0000\u0000X\u04fa\u0001\u0000\u0000\u0000Z\u04fc\u0001"+
52569 "\u0000\u0000\u0000\\\u0500\u0001\u0000\u0000\u0000^\u0502\u0001\u0000"+
52570 "\u0000\u0000`\u050d\u0001\u0000\u0000\u0000b\u051a\u0001\u0000\u0000\u0000"+
52571 "d\u0529\u0001\u0000\u0000\u0000f\u052b\u0001\u0000\u0000\u0000h\u052d"+
52572 "\u0001\u0000\u0000\u0000j\u052f\u0001\u0000\u0000\u0000l\u0549\u0001\u0000"+
52573 "\u0000\u0000n\u0576\u0001\u0000\u0000\u0000p\u0578\u0001\u0000\u0000\u0000"+
52574 "r\u05bf\u0001\u0000\u0000\u0000t\u05cc\u0001\u0000\u0000\u0000v\u05ce"+
52575 "\u0001\u0000\u0000\u0000x\u05e0\u0001\u0000\u0000\u0000z\u05e2\u0001\u0000"+
52576 "\u0000\u0000|\u05e7\u0001\u0000\u0000\u0000~\u05e9\u0001\u0000\u0000\u0000"+
52577 "\u0080\u05f0\u0001\u0000\u0000\u0000\u0082\u05fb\u0001\u0000\u0000\u0000"+
52578 "\u0084\u060b\u0001\u0000\u0000\u0000\u0086\u0624\u0001\u0000\u0000\u0000"+
52579 "\u0088\u0626\u0001\u0000\u0000\u0000\u008a\u0634\u0001\u0000\u0000\u0000"+
52580 "\u008c\u0639\u0001\u0000\u0000\u0000\u008e\u0640\u0001\u0000\u0000\u0000"+
52581 "\u0090\u0642\u0001\u0000\u0000\u0000\u0092\u065c\u0001\u0000\u0000\u0000"+
52582 "\u0094\u0668\u0001\u0000\u0000\u0000\u0096\u0678\u0001\u0000\u0000\u0000"+
52583 "\u0098\u067a\u0001\u0000\u0000\u0000\u009a\u0682\u0001\u0000\u0000\u0000"+
52584 "\u009c\u068e\u0001\u0000\u0000\u0000\u009e\u069b\u0001\u0000\u0000\u0000"+
52585 "\u00a0\u069e\u0001\u0000\u0000\u0000\u00a2\u06ab\u0001\u0000\u0000\u0000"+
52586 "\u00a4\u06b5\u0001\u0000\u0000\u0000\u00a6\u06ba\u0001\u0000\u0000\u0000"+
52587 "\u00a8\u06bc\u0001\u0000\u0000\u0000\u00aa\u06c3\u0001\u0000\u0000\u0000"+
52588 "\u00ac\u06cb\u0001\u0000\u0000\u0000\u00ae\u06d3\u0001\u0000\u0000\u0000"+
52589 "\u00b0\u06d5\u0001\u0000\u0000\u0000\u00b2\u06e6\u0001\u0000\u0000\u0000"+
52590 "\u00b4\u06e8\u0001\u0000\u0000\u0000\u00b6\u06ec\u0001\u0000\u0000\u0000"+
52591 "\u00b8\u06f1\u0001\u0000\u0000\u0000\u00ba\u06f4\u0001\u0000\u0000\u0000"+
52592 "\u00bc\u06f6\u0001\u0000\u0000\u0000\u00be\u06f9\u0001\u0000\u0000\u0000"+
52593 "\u00c0\u06ff\u0001\u0000\u0000\u0000\u00c2\u0709\u0001\u0000\u0000\u0000"+
52594 "\u00c4\u070b\u0001\u0000\u0000\u0000\u00c6\u070f\u0001\u0000\u0000\u0000"+
52595 "\u00c8\u071d\u0001\u0000\u0000\u0000\u00ca\u0724\u0001\u0000\u0000\u0000"+
52596 "\u00cc\u0726\u0001\u0000\u0000\u0000\u00ce\u072e\u0001\u0000\u0000\u0000"+
52597 "\u00d0\u0730\u0001\u0000\u0000\u0000\u00d2\u0732\u0001\u0000\u0000\u0000"+
52598 "\u00d4\u073a\u0001\u0000\u0000\u0000\u00d6\u073c\u0001\u0000\u0000\u0000"+
52599 "\u00d8\u073e\u0001\u0000\u0000\u0000\u00da\u0740\u0001\u0000\u0000\u0000"+
52600 "\u00dc\u0742\u0001\u0000\u0000\u0000\u00de\u0744\u0001\u0000\u0000\u0000"+
52601 "\u00e0\u0747\u0001\u0000\u0000\u0000\u00e2\u0749\u0001\u0000\u0000\u0000"+
52602 "\u00e4\u0754\u0001\u0000\u0000\u0000\u00e6\u0758\u0001\u0000\u0000\u0000"+
52603 "\u00e8\u075a\u0001\u0000\u0000\u0000\u00ea\u0760\u0001\u0000\u0000\u0000"+
52604 "\u00ec\u0769\u0001\u0000\u0000\u0000\u00ee\u076e\u0001\u0000\u0000\u0000"+
52605 "\u00f0\u0778\u0001\u0000\u0000\u0000\u00f2\u0782\u0001\u0000\u0000\u0000"+
52606 "\u00f4\u078b\u0001\u0000\u0000\u0000\u00f6\u0796\u0001\u0000\u0000\u0000"+
52607 "\u00f8\u079f\u0001\u0000\u0000\u0000\u00fa\u07ac\u0001\u0000\u0000\u0000"+
52608 "\u00fc\u07b5\u0001\u0000\u0000\u0000\u00fe\u07c0\u0001\u0000\u0000\u0000"+
52609 "\u0100\u07ca\u0001\u0000\u0000\u0000\u0102\u07d6\u0001\u0000\u0000\u0000"+
52610 "\u0104\u07dc\u0001\u0000\u0000\u0000\u0106\u07e2\u0001\u0000\u0000\u0000"+
52611 "\u0108\u07e7\u0001\u0000\u0000\u0000\u010a\u07ee\u0001\u0000\u0000\u0000"+
52612 "\u010c\u07f7\u0001\u0000\u0000\u0000\u010e\u0802\u0001\u0000\u0000\u0000"+
52613 "\u0110\u080b\u0001\u0000\u0000\u0000\u0112\u0812\u0001\u0000\u0000\u0000"+
52614 "\u0114\u081b\u0001\u0000\u0000\u0000\u0116\u0828\u0001\u0000\u0000\u0000"+
52615 "\u0118\u0835\u0001\u0000\u0000\u0000\u011a\u0842\u0001\u0000\u0000\u0000"+
52616 "\u011c\u084f\u0001\u0000\u0000\u0000\u011e\u0864\u0001\u0000\u0000\u0000"+
52617 "\u0120\u0871\u0001\u0000\u0000\u0000\u0122\u0875\u0001\u0000\u0000\u0000"+
52618 "\u0124\u087c\u0001\u0000\u0000\u0000\u0126\u0882\u0001\u0000\u0000\u0000"+
52619 "\u0128\u0884\u0001\u0000\u0000\u0000\u012a\u0888\u0001\u0000\u0000\u0000"+
52620 "\u012c\u089c\u0001\u0000\u0000\u0000\u012e\u089e\u0001\u0000\u0000\u0000"+
52621 "\u0130\u08df\u0001\u0000\u0000\u0000\u0132\u08e1\u0001\u0000\u0000\u0000"+
52622 "\u0134\u08f1\u0001\u0000\u0000\u0000\u0136\u08fa\u0001\u0000\u0000\u0000"+
52623 "\u0138\u0903\u0001\u0000\u0000\u0000\u013a\u0920\u0001\u0000\u0000\u0000"+
52624 "\u013c\u0924\u0001\u0000\u0000\u0000\u013e\u092b\u0001\u0000\u0000\u0000"+
52625 "\u0140\u0933\u0001\u0000\u0000\u0000\u0142\u0935\u0001\u0000\u0000\u0000"+
52626 "\u0144\u0949\u0001\u0000\u0000\u0000\u0146\u094b\u0001\u0000\u0000\u0000"+
52627 "\u0148\u0951\u0001\u0000\u0000\u0000\u014a\u0954\u0001\u0000\u0000\u0000"+
52628 "\u014c\u095d\u0001\u0000\u0000\u0000\u014e\u095f\u0001\u0000\u0000\u0000"+
52629 "\u0150\u0968\u0001\u0000\u0000\u0000\u0152\u097e\u0001\u0000\u0000\u0000"+
52630 "\u0154\u0985\u0001\u0000\u0000\u0000\u0156\u0987\u0001\u0000\u0000\u0000"+
52631 "\u0158\u0991\u0001\u0000\u0000\u0000\u015a\u099f\u0001\u0000\u0000\u0000"+
52632 "\u015c\u09ae\u0001\u0000\u0000\u0000\u015e\u09b0\u0001\u0000\u0000\u0000"+
52633 "\u0160\u09b3\u0001\u0000\u0000\u0000\u0162\u09c1\u0001\u0000\u0000\u0000"+
52634 "\u0164\u09c3\u0001\u0000\u0000\u0000\u0166\u09d0\u0001\u0000\u0000\u0000"+
52635 "\u0168\u09d8\u0001\u0000\u0000\u0000\u016a\u09df\u0001\u0000\u0000\u0000"+
52636 "\u016c\u09e6\u0001\u0000\u0000\u0000\u016e\u09e9\u0001\u0000\u0000\u0000"+
52637 "\u0170\u09f2\u0001\u0000\u0000\u0000\u0172\u09f7\u0001\u0000\u0000\u0000"+
52638 "\u0174\u09fd\u0001\u0000\u0000\u0000\u0176\u0a09\u0001\u0000\u0000\u0000"+
52639 "\u0178\u0a21\u0001\u0000\u0000\u0000\u017a\u0a23\u0001\u0000\u0000\u0000"+
52640 "\u017c\u0a2e\u0001\u0000\u0000\u0000\u017e\u0a41\u0001\u0000\u0000\u0000"+
52641 "\u0180\u0a48\u0001\u0000\u0000\u0000\u0182\u0a57\u0001\u0000\u0000\u0000"+
52642 "\u0184\u0a94\u0001\u0000\u0000\u0000\u0186\u0a96\u0001\u0000\u0000\u0000"+
52643 "\u0188\u0aa2\u0001\u0000\u0000\u0000\u018a\u0ab4\u0001\u0000\u0000\u0000"+
52644 "\u018c\u0aba\u0001\u0000\u0000\u0000\u018e\u0acc\u0001\u0000\u0000\u0000"+
52645 "\u0190\u0ace\u0001\u0000\u0000\u0000\u0192\u0af5\u0001\u0000\u0000\u0000"+
52646 "\u0194\u0af7\u0001\u0000\u0000\u0000\u0196\u0b0d\u0001\u0000\u0000\u0000"+
52647 "\u0198\u0b1b\u0001\u0000\u0000\u0000\u019a\u0b1f\u0001\u0000\u0000\u0000"+
52648 "\u019c\u0b26\u0001\u0000\u0000\u0000\u019e\u0b34\u0001\u0000\u0000\u0000"+
52649 "\u01a0\u0b38\u0001\u0000\u0000\u0000\u01a2\u0b46\u0001\u0000\u0000\u0000"+
52650 "\u01a4\u0b4a\u0001\u0000\u0000\u0000\u01a6\u0b59\u0001\u0000\u0000\u0000"+
52651 "\u01a8\u0b5b\u0001\u0000\u0000\u0000\u01aa\u0b65\u0001\u0000\u0000\u0000"+
52652 "\u01ac\u0b79\u0001\u0000\u0000\u0000\u01ae\u0b83\u0001\u0000\u0000\u0000"+
52653 "\u01b0\u0b90\u0001\u0000\u0000\u0000\u01b2\u0b94\u0001\u0000\u0000\u0000"+
52654 "\u01b4\u0bb1\u0001\u0000\u0000\u0000\u01b6\u0bb3\u0001\u0000\u0000\u0000"+
52655 "\u01b8\u0bb5\u0001\u0000\u0000\u0000\u01ba\u0bc1\u0001\u0000\u0000\u0000"+
52656 "\u01bc\u0bce\u0001\u0000\u0000\u0000\u01be\u0bd6\u0001\u0000\u0000\u0000"+
52657 "\u01c0\u0bdc\u0001\u0000\u0000\u0000\u01c2\u0bee\u0001\u0000\u0000\u0000"+
52658 "\u01c4\u0bf6\u0001\u0000\u0000\u0000\u01c6\u0bfd\u0001\u0000\u0000\u0000"+
52659 "\u01c8\u0c06\u0001\u0000\u0000\u0000\u01ca\u0c15\u0001\u0000\u0000\u0000"+
52660 "\u01cc\u0c1c\u0001\u0000\u0000\u0000\u01ce\u0c25\u0001\u0000\u0000\u0000"+
52661 "\u01d0\u0c27\u0001\u0000\u0000\u0000\u01d2\u0c2c\u0001\u0000\u0000\u0000"+
52662 "\u01d4\u0c2f\u0001\u0000\u0000\u0000\u01d6\u0c3a\u0001\u0000\u0000\u0000"+
52663 "\u01d8\u0c3c\u0001\u0000\u0000\u0000\u01da\u0c5c\u0001\u0000\u0000\u0000"+
52664 "\u01dc\u0c5e\u0001\u0000\u0000\u0000\u01de\u0c6d\u0001\u0000\u0000\u0000"+
52665 "\u01e0\u0c81\u0001\u0000\u0000\u0000\u01e2\u0cb8\u0001\u0000\u0000\u0000"+
52666 "\u01e4\u0cc0\u0001\u0000\u0000\u0000\u01e6\u0cc2\u0001\u0000\u0000\u0000"+
52667 "\u01e8\u0cd4\u0001\u0000\u0000\u0000\u01ea\u0ceb\u0001\u0000\u0000\u0000"+
52668 "\u01ec\u0d01\u0001\u0000\u0000\u0000\u01ee\u0d0d\u0001\u0000\u0000\u0000"+
52669 "\u01f0\u0d0f\u0001\u0000\u0000\u0000\u01f2\u0d27\u0001\u0000\u0000\u0000"+
52670 "\u01f4\u0d29\u0001\u0000\u0000\u0000\u01f6\u0d2f\u0001\u0000\u0000\u0000"+
52671 "\u01f8\u0d3d\u0001\u0000\u0000\u0000\u01fa\u0d3f\u0001\u0000\u0000\u0000"+
52672 "\u01fc\u0d6d\u0001\u0000\u0000\u0000\u01fe\u0d81\u0001\u0000\u0000\u0000"+
52673 "\u0200\u0d83\u0001\u0000\u0000\u0000\u0202\u0d9e\u0001\u0000\u0000\u0000"+
52674 "\u0204\u0db3\u0001\u0000\u0000\u0000\u0206\u0db6\u0001\u0000\u0000\u0000"+
52675 "\u0208\u0dd1\u0001\u0000\u0000\u0000\u020a\u0dd3\u0001\u0000\u0000\u0000"+
52676 "\u020c\u0def\u0001\u0000\u0000\u0000\u020e\u0df1\u0001\u0000\u0000\u0000"+
52677 "\u0210\u0e08\u0001\u0000\u0000\u0000\u0212\u0e20\u0001\u0000\u0000\u0000"+
52678 "\u0214\u0e39\u0001\u0000\u0000\u0000\u0216\u0e44\u0001\u0000\u0000\u0000"+
52679 "\u0218\u0e60\u0001\u0000\u0000\u0000\u021a\u0e6c\u0001\u0000\u0000\u0000"+
52680 "\u021c\u0e79\u0001\u0000\u0000\u0000\u021e\u0e7b\u0001\u0000\u0000\u0000"+
52681 "\u0220\u0e87\u0001\u0000\u0000\u0000\u0222\u0e90\u0001\u0000\u0000\u0000"+
52682 "\u0224\u0ea0\u0001\u0000\u0000\u0000\u0226\u0ec5\u0001\u0000\u0000\u0000"+
52683 "\u0228\u0edd\u0001\u0000\u0000\u0000\u022a\u0ee8\u0001\u0000\u0000\u0000"+
52684 "\u022c\u0ef4\u0001\u0000\u0000\u0000\u022e\u0ef6\u0001\u0000\u0000\u0000"+
52685 "\u0230\u0eff\u0001\u0000\u0000\u0000\u0232\u0f17\u0001\u0000\u0000\u0000"+
52686 "\u0234\u0f46\u0001\u0000\u0000\u0000\u0236\u0f48\u0001\u0000\u0000\u0000"+
52687 "\u0238\u0f53\u0001\u0000\u0000\u0000\u023a\u0f71\u0001\u0000\u0000\u0000"+
52688 "\u023c\u0f75\u0001\u0000\u0000\u0000\u023e\u0f9b\u0001\u0000\u0000\u0000"+
52689 "\u0240\u0fb4\u0001\u0000\u0000\u0000\u0242\u0ff4\u0001\u0000\u0000\u0000"+
52690 "\u0244\u1039\u0001\u0000\u0000\u0000\u0246\u103b\u0001\u0000\u0000\u0000"+
52691 "\u0248\u1046\u0001\u0000\u0000\u0000\u024a\u105d\u0001\u0000\u0000\u0000"+
52692 "\u024c\u1069\u0001\u0000\u0000\u0000\u024e\u10a1\u0001\u0000\u0000\u0000"+
52693 "\u0250\u10af\u0001\u0000\u0000\u0000\u0252\u10be\u0001\u0000\u0000\u0000"+
52694 "\u0254\u10c8\u0001\u0000\u0000\u0000\u0256\u10f5\u0001\u0000\u0000\u0000"+
52695 "\u0258\u10fb\u0001\u0000\u0000\u0000\u025a\u1113\u0001\u0000\u0000\u0000"+
52696 "\u025c\u1117\u0001\u0000\u0000\u0000\u025e\u1139\u0001\u0000\u0000\u0000"+
52697 "\u0260\u113b\u0001\u0000\u0000\u0000\u0262\u115a\u0001\u0000\u0000\u0000"+
52698 "\u0264\u115c\u0001\u0000\u0000\u0000\u0266\u1163\u0001\u0000\u0000\u0000"+
52699 "\u0268\u1180\u0001\u0000\u0000\u0000\u026a\u1186\u0001\u0000\u0000\u0000"+
52700 "\u026c\u119b\u0001\u0000\u0000\u0000\u026e\u119d\u0001\u0000\u0000\u0000"+
52701 "\u0270\u11df\u0001\u0000\u0000\u0000\u0272\u11ee\u0001\u0000\u0000\u0000"+
52702 "\u0274\u11f6\u0001\u0000\u0000\u0000\u0276\u120d\u0001\u0000\u0000\u0000"+
52703 "\u0278\u1216\u0001\u0000\u0000\u0000\u027a\u121e\u0001\u0000\u0000\u0000"+
52704 "\u027c\u1220\u0001\u0000\u0000\u0000\u027e\u122e\u0001\u0000\u0000\u0000"+
52705 "\u0280\u1230\u0001\u0000\u0000\u0000\u0282\u123b\u0001\u0000\u0000\u0000"+
52706 "\u0284\u124c\u0001\u0000\u0000\u0000\u0286\u1255\u0001\u0000\u0000\u0000"+
52707 "\u0288\u125c\u0001\u0000\u0000\u0000\u028a\u1260\u0001\u0000\u0000\u0000"+
52708 "\u028c\u1262\u0001\u0000\u0000\u0000\u028e\u126d\u0001\u0000\u0000\u0000"+
52709 "\u0290\u1280\u0001\u0000\u0000\u0000\u0292\u129c\u0001\u0000\u0000\u0000"+
52710 "\u0294\u129f\u0001\u0000\u0000\u0000\u0296\u12b5\u0001\u0000\u0000\u0000"+
52711 "\u0298\u12be\u0001\u0000\u0000\u0000\u029a\u12cd\u0001\u0000\u0000\u0000"+
52712 "\u029c\u12d5\u0001\u0000\u0000\u0000\u029e\u12e4\u0001\u0000\u0000\u0000"+
52713 "\u02a0\u12e8\u0001\u0000\u0000\u0000\u02a2\u1301\u0001\u0000\u0000\u0000"+
52714 "\u02a4\u1305\u0001\u0000\u0000\u0000\u02a6\u1308\u0001\u0000\u0000\u0000"+
52715 "\u02a8\u131d\u0001\u0000\u0000\u0000\u02aa\u1335\u0001\u0000\u0000\u0000"+
52716 "\u02ac\u1337\u0001\u0000\u0000\u0000\u02ae\u1345\u0001\u0000\u0000\u0000"+
52717 "\u02b0\u1347\u0001\u0000\u0000\u0000\u02b2\u1357\u0001\u0000\u0000\u0000"+
52718 "\u02b4\u1370\u0001\u0000\u0000\u0000\u02b6\u1374\u0001\u0000\u0000\u0000"+
52719 "\u02b8\u1389\u0001\u0000\u0000\u0000\u02ba\u138b\u0001\u0000\u0000\u0000"+
52720 "\u02bc\u13a6\u0001\u0000\u0000\u0000\u02be\u13a8\u0001\u0000\u0000\u0000"+
52721 "\u02c0\u13aa\u0001\u0000\u0000\u0000\u02c2\u13ad\u0001\u0000\u0000\u0000"+
52722 "\u02c4\u13b0\u0001\u0000\u0000\u0000\u02c6\u13b8\u0001\u0000\u0000\u0000"+
52723 "\u02c8\u13d2\u0001\u0000\u0000\u0000\u02ca\u13ec\u0001\u0000\u0000\u0000"+
52724 "\u02cc\u13f2\u0001\u0000\u0000\u0000\u02ce\u13f4\u0001\u0000\u0000\u0000"+
52725 "\u02d0\u13f7\u0001\u0000\u0000\u0000\u02d2\u1401\u0001\u0000\u0000\u0000"+
52726 "\u02d4\u1404\u0001\u0000\u0000\u0000\u02d6\u1408\u0001\u0000\u0000\u0000"+
52727 "\u02d8\u140b\u0001\u0000\u0000\u0000\u02da\u1413\u0001\u0000\u0000\u0000"+
52728 "\u02dc\u141a\u0001\u0000\u0000\u0000\u02de\u1426\u0001\u0000\u0000\u0000"+
52729 "\u02e0\u142e\u0001\u0000\u0000\u0000\u02e2\u1437\u0001\u0000\u0000\u0000"+
52730 "\u02e4\u143d\u0001\u0000\u0000\u0000\u02e6\u1485\u0001\u0000\u0000\u0000"+
52731 "\u02e8\u14bd\u0001\u0000\u0000\u0000\u02ea\u14bf\u0001\u0000\u0000\u0000"+
52732 "\u02ec\u14c5\u0001\u0000\u0000\u0000\u02ee\u1505\u0001\u0000\u0000\u0000"+
52733 "\u02f0\u1515\u0001\u0000\u0000\u0000\u02f2\u152b\u0001\u0000\u0000\u0000"+
52734 "\u02f4\u1535\u0001\u0000\u0000\u0000\u02f6\u1546\u0001\u0000\u0000\u0000"+
52735 "\u02f8\u1548\u0001\u0000\u0000\u0000\u02fa\u154a\u0001\u0000\u0000\u0000"+
52736 "\u02fc\u154c\u0001\u0000\u0000\u0000\u02fe\u154f\u0001\u0000\u0000\u0000"+
52737 "\u0300\u1554\u0001\u0000\u0000\u0000\u0302\u156b\u0001\u0000\u0000\u0000"+
52738 "\u0304\u157e\u0001\u0000\u0000\u0000\u0306\u1590\u0001\u0000\u0000\u0000"+
52739 "\u0308\u1594\u0001\u0000\u0000\u0000\u030a\u15a0\u0001\u0000\u0000\u0000"+
52740 "\u030c\u15a7\u0001\u0000\u0000\u0000\u030e\u15ab\u0001\u0000\u0000\u0000"+
52741 "\u0310\u15ad\u0001\u0000\u0000\u0000\u0312\u15b5\u0001\u0000\u0000\u0000"+
52742 "\u0314\u15ca\u0001\u0000\u0000\u0000\u0316\u15db\u0001\u0000\u0000\u0000"+
52743 "\u0318\u15e0\u0001\u0000\u0000\u0000\u031a\u15f5\u0001\u0000\u0000\u0000"+
52744 "\u031c\u1606\u0001\u0000\u0000\u0000\u031e\u1621\u0001\u0000\u0000\u0000"+
52745 "\u0320\u1633\u0001\u0000\u0000\u0000\u0322\u1682\u0001\u0000\u0000\u0000"+
52746 "\u0324\u1696\u0001\u0000\u0000\u0000\u0326\u173f\u0001\u0000\u0000\u0000"+
52747 "\u0328\u1744\u0001\u0000\u0000\u0000\u032a\u174e\u0001\u0000\u0000\u0000"+
52748 "\u032c\u1759\u0001\u0000\u0000\u0000\u032e\u1763\u0001\u0000\u0000\u0000"+
52749 "\u0330\u176c\u0001\u0000\u0000\u0000\u0332\u1782\u0001\u0000\u0000\u0000"+
52750 "\u0334\u178f\u0001\u0000\u0000\u0000\u0336\u1796\u0001\u0000\u0000\u0000"+
52751 "\u0338\u17a2\u0001\u0000\u0000\u0000\u033a\u17af\u0001\u0000\u0000\u0000"+
52752 "\u033c\u17bc\u0001\u0000\u0000\u0000\u033e\u17c7\u0001\u0000\u0000\u0000"+
52753 "\u0340\u17d3\u0001\u0000\u0000\u0000\u0342\u17e5\u0001\u0000\u0000\u0000"+
52754 "\u0344\u17f1\u0001\u0000\u0000\u0000\u0346\u17fe\u0001\u0000\u0000\u0000"+
52755 "\u0348\u180b\u0001\u0000\u0000\u0000\u034a\u1817\u0001\u0000\u0000\u0000"+
52756 "\u034c\u182a\u0001\u0000\u0000\u0000\u034e\u182e\u0001\u0000\u0000\u0000"+
52757 "\u0350\u183b\u0001\u0000\u0000\u0000\u0352\u1848\u0001\u0000\u0000\u0000"+
52758 "\u0354\u1851\u0001\u0000\u0000\u0000\u0356\u185b\u0001\u0000\u0000\u0000"+
52759 "\u0358\u185d\u0001\u0000\u0000\u0000\u035a\u185f\u0001\u0000\u0000\u0000"+
52760 "\u035c\u188b\u0001\u0000\u0000\u0000\u035e\u188d\u0001\u0000\u0000\u0000"+
52761 "\u0360\u188f\u0001\u0000\u0000\u0000\u0362\u1891\u0001\u0000\u0000\u0000"+
52762 "\u0364\u1899\u0001\u0000\u0000\u0000\u0366\u18a5\u0001\u0000\u0000\u0000"+
52763 "\u0368\u18d7\u0001\u0000\u0000\u0000\u036a\u18e4\u0001\u0000\u0000\u0000"+
52764 "\u036c\u18f1\u0001\u0000\u0000\u0000\u036e\u1919\u0001\u0000\u0000\u0000"+
52765 "\u0370\u1929\u0001\u0000\u0000\u0000\u0372\u193f\u0001\u0000\u0000\u0000"+
52766 "\u0374\u1941\u0001\u0000\u0000\u0000\u0376\u194f\u0001\u0000\u0000\u0000"+
52767 "\u0378\u1959\u0001\u0000\u0000\u0000\u037a\u195b\u0001\u0000\u0000\u0000"+
52768 "\u037c\u195d\u0001\u0000\u0000\u0000\u037e\u195f\u0001\u0000\u0000\u0000"+
52769 "\u0380\u1964\u0001\u0000\u0000\u0000\u0382\u196b\u0001\u0000\u0000\u0000"+
52770 "\u0384\u199b\u0001\u0000\u0000\u0000\u0386\u199d\u0001\u0000\u0000\u0000"+
52771 "\u0388\u19a4\u0001\u0000\u0000\u0000\u038a\u19ab\u0001\u0000\u0000\u0000"+
52772 "\u038c\u19ba\u0001\u0000\u0000\u0000\u038e\u19c8\u0001\u0000\u0000\u0000"+
52773 "\u0390\u19ca\u0001\u0000\u0000\u0000\u0392\u19f2\u0001\u0000\u0000\u0000"+
52774 "\u0394\u19f4\u0001\u0000\u0000\u0000\u0396\u19f6\u0001\u0000\u0000\u0000"+
52775 "\u0398\u1a09\u0001\u0000\u0000\u0000\u039a\u1a11\u0001\u0000\u0000\u0000"+
52776 "\u039c\u1a1f\u0001\u0000\u0000\u0000\u039e\u1a21\u0001\u0000\u0000\u0000"+
52777 "\u03a0\u1a2d\u0001\u0000\u0000\u0000\u03a2\u1a44\u0001\u0000\u0000\u0000"+
52778 "\u03a4\u1a46\u0001\u0000\u0000\u0000\u03a6\u1a49\u0001\u0000\u0000\u0000"+
52779 "\u03a8\u1a56\u0001\u0000\u0000\u0000\u03aa\u1a58\u0001\u0000\u0000\u0000"+
52780 "\u03ac\u1a6f\u0001\u0000\u0000\u0000\u03ae\u1a71\u0001\u0000\u0000\u0000"+
52781 "\u03b0\u1a75\u0001\u0000\u0000\u0000\u03b2\u1a85\u0001\u0000\u0000\u0000"+
52782 "\u03b4\u1aac\u0001\u0000\u0000\u0000\u03b6\u1aae\u0001\u0000\u0000\u0000"+
52783 "\u03b8\u1ab6\u0001\u0000\u0000\u0000\u03ba\u1ab8\u0001\u0000\u0000\u0000"+
52784 "\u03bc\u03f7\u0003\u02ae\u0157\u0000\u03bd\u03f7\u0003\u0294\u014a\u0000"+
52785 "\u03be\u03f7\u0003\u029c\u014e\u0000\u03bf\u03f7\u0003\u02a6\u0153\u0000"+
52786 "\u03c0\u03f7\u0003\u00eau\u0000\u03c1\u03f7\u0003\u00fe\u007f\u0000\u03c2"+
52787 "\u03f7\u0003\u0112\u0089\u0000\u03c3\u03f7\u0003\u00e6s\u0000\u03c4\u03f7"+
52788 "\u0003\u00ecv\u0000\u03c5\u03f7\u0003\u00f0x\u0000\u03c6\u03f7\u0003\u00f2"+
52789 "y\u0000\u03c7\u03f7\u0003\u00f4z\u0000\u03c8\u03f7\u0003\u00f6{\u0000"+
52790 "\u03c9\u03f7\u0003\u00f8|\u0000\u03ca\u03f7\u0003\u00fa}\u0000\u03cb\u03f7"+
52791 "\u0003\u00fc~\u0000\u03cc\u03f7\u0003\u0108\u0084\u0000\u03cd\u03f7\u0003"+
52792 "\u010a\u0085\u0000\u03ce\u03f7\u0003\u0100\u0080\u0000\u03cf\u03f7\u0003"+
52793 "\u010c\u0086\u0000\u03d0\u03f7\u0003\u010e\u0087\u0000\u03d1\u03f7\u0003"+
52794 "\u0106\u0083\u0000\u03d2\u03f7\u0003\u0110\u0088\u0000\u03d3\u03f7\u0003"+
52795 "\u0114\u008a\u0000\u03d4\u03f7\u0003\u0116\u008b\u0000\u03d5\u03f7\u0003"+
52796 "\u0118\u008c\u0000\u03d6\u03f7\u0003\u011a\u008d\u0000\u03d7\u03f7\u0003"+
52797 "\u011c\u008e\u0000\u03d8\u03f7\u0003\u011e\u008f\u0000\u03d9\u03f7\u0003"+
52798 "\u0120\u0090\u0000\u03da\u03f7\u0003\u0122\u0091\u0000\u03db\u03f7\u0003"+
52799 "\u0124\u0092\u0000\u03dc\u03f7\u0003\u00eew\u0000\u03dd\u03f7\u0003\u0002"+
52800 "\u0001\u0000\u03de\u03f7\u0003\n\u0005\u0000\u03df\u03f7\u0003\f\u0006"+
52801 "\u0000\u03e0\u03f7\u0003\u0006\u0003\u0000\u03e1\u03f7\u0003\u000e\u0007"+
52802 "\u0000\u03e2\u03f7\u0003\u0010\b\u0000\u03e3\u03f7\u0003\u0012\t\u0000"+
52803 "\u03e4\u03f7\u0003\u0014\n\u0000\u03e5\u03f7\u0003\u0016\u000b\u0000\u03e6"+
52804 "\u03f7\u0003\u02fe\u017f\u0000\u03e7\u03f7\u0003\u0310\u0188\u0000\u03e8"+
52805 "\u03f7\u0003\u0316\u018b\u0000\u03e9\u03f7\u0003\u0364\u01b2\u0000\u03ea"+
52806 "\u03f7\u0003\u0380\u01c0\u0000\u03eb\u03f7\u0003\u0382\u01c1\u0000\u03ec"+
52807 "\u03f7\u0003\u0386\u01c3\u0000\u03ed\u03f7\u0003\u0388\u01c4\u0000\u03ee"+
52808 "\u03f7\u0003\u038a\u01c5\u0000\u03ef\u03f7\u0003\u038c\u01c6\u0000\u03f0"+
52809 "\u03f7\u0003\u03ae\u01d7\u0000\u03f1\u03f7\u0003\u03b0\u01d8\u0000\u03f2"+
52810 "\u03f7\u0003\u00e0p\u0000\u03f3\u03f7\u0003\u00e2q\u0000\u03f4\u03f7\u0003"+
52811 "\u0362\u01b1\u0000\u03f5\u03f7\u0003\u03ba\u01dd\u0000\u03f6\u03bc\u0001"+
52812 "\u0000\u0000\u0000\u03f6\u03bd\u0001\u0000\u0000\u0000\u03f6\u03be\u0001"+
52813 "\u0000\u0000\u0000\u03f6\u03bf\u0001\u0000\u0000\u0000\u03f6\u03c0\u0001"+
52814 "\u0000\u0000\u0000\u03f6\u03c1\u0001\u0000\u0000\u0000\u03f6\u03c2\u0001"+
52815 "\u0000\u0000\u0000\u03f6\u03c3\u0001\u0000\u0000\u0000\u03f6\u03c4\u0001"+
52816 "\u0000\u0000\u0000\u03f6\u03c5\u0001\u0000\u0000\u0000\u03f6\u03c6\u0001"+
52817 "\u0000\u0000\u0000\u03f6\u03c7\u0001\u0000\u0000\u0000\u03f6\u03c8\u0001"+
52818 "\u0000\u0000\u0000\u03f6\u03c9\u0001\u0000\u0000\u0000\u03f6\u03ca\u0001"+
52819 "\u0000\u0000\u0000\u03f6\u03cb\u0001\u0000\u0000\u0000\u03f6\u03cc\u0001"+
52820 "\u0000\u0000\u0000\u03f6\u03cd\u0001\u0000\u0000\u0000\u03f6\u03ce\u0001"+
52821 "\u0000\u0000\u0000\u03f6\u03cf\u0001\u0000\u0000\u0000\u03f6\u03d0\u0001"+
52822 "\u0000\u0000\u0000\u03f6\u03d1\u0001\u0000\u0000\u0000\u03f6\u03d2\u0001"+
52823 "\u0000\u0000\u0000\u03f6\u03d3\u0001\u0000\u0000\u0000\u03f6\u03d4\u0001"+
52824 "\u0000\u0000\u0000\u03f6\u03d5\u0001\u0000\u0000\u0000\u03f6\u03d6\u0001"+
52825 "\u0000\u0000\u0000\u03f6\u03d7\u0001\u0000\u0000\u0000\u03f6\u03d8\u0001"+
52826 "\u0000\u0000\u0000\u03f6\u03d9\u0001\u0000\u0000\u0000\u03f6\u03da\u0001"+
52827 "\u0000\u0000\u0000\u03f6\u03db\u0001\u0000\u0000\u0000\u03f6\u03dc\u0001"+
52828 "\u0000\u0000\u0000\u03f6\u03dd\u0001\u0000\u0000\u0000\u03f6\u03de\u0001"+
52829 "\u0000\u0000\u0000\u03f6\u03df\u0001\u0000\u0000\u0000\u03f6\u03e0\u0001"+
52830 "\u0000\u0000\u0000\u03f6\u03e1\u0001\u0000\u0000\u0000\u03f6\u03e2\u0001"+
52831 "\u0000\u0000\u0000\u03f6\u03e3\u0001\u0000\u0000\u0000\u03f6\u03e4\u0001"+
52832 "\u0000\u0000\u0000\u03f6\u03e5\u0001\u0000\u0000\u0000\u03f6\u03e6\u0001"+
52833 "\u0000\u0000\u0000\u03f6\u03e7\u0001\u0000\u0000\u0000\u03f6\u03e8\u0001"+
52834 "\u0000\u0000\u0000\u03f6\u03e9\u0001\u0000\u0000\u0000\u03f6\u03ea\u0001"+
52835 "\u0000\u0000\u0000\u03f6\u03eb\u0001\u0000\u0000\u0000\u03f6\u03ec\u0001"+
52836 "\u0000\u0000\u0000\u03f6\u03ed\u0001\u0000\u0000\u0000\u03f6\u03ee\u0001"+
52837 "\u0000\u0000\u0000\u03f6\u03ef\u0001\u0000\u0000\u0000\u03f6\u03f0\u0001"+
52838 "\u0000\u0000\u0000\u03f6\u03f1\u0001\u0000\u0000\u0000\u03f6\u03f2\u0001"+
52839 "\u0000\u0000\u0000\u03f6\u03f3\u0001\u0000\u0000\u0000\u03f6\u03f4\u0001"+
52840 "\u0000\u0000\u0000\u03f6\u03f5\u0001\u0000\u0000\u0000\u03f7\u03f9\u0001"+
52841 "\u0000\u0000\u0000\u03f8\u03fa\u0005+\u0000\u0000\u03f9\u03f8\u0001\u0000"+
52842 "\u0000\u0000\u03f9\u03fa\u0001\u0000\u0000\u0000\u03fa\u0001\u0001\u0000"+
52843 "\u0000\u0000\u03fb\u03fc\u0005:\u0000\u0000\u03fc\u03fd\u0005\u00ec\u0000"+
52844 "\u0000\u03fd\u03fe\u0005\u0200\u0000\u0000\u03fe\u03ff\u0005\u01ff\u0000"+
52845 "\u0000\u03ff\u0400\u0003\u0004\u0002\u0000\u0400\u0003\u0001\u0000\u0000"+
52846 "\u0000\u0401\u0402\u0005\u0203\u0000\u0000\u0402\u040a\u0005\u028c\u0000"+
52847 "\u0000\u0403\u0404\u0005\u0203\u0000\u0000\u0404\u040a\u0005\u028d\u0000"+
52848 "\u0000\u0405\u0406\u0005\u0202\u0000\u0000\u0406\u040a\u0005\u0203\u0000"+
52849 "\u0000\u0407\u040a\u0005\u0201\u0000\u0000\u0408\u040a\u0005\u0204\u0000"+
52850 "\u0000\u0409\u0401\u0001\u0000\u0000\u0000\u0409\u0403\u0001\u0000\u0000"+
52851 "\u0000\u0409\u0405\u0001\u0000\u0000\u0000\u0409\u0407\u0001\u0000\u0000"+
52852 "\u0000\u0409\u0408\u0001\u0000\u0000\u0000\u040a\u0005\u0001\u0000\u0000"+
52853 "\u0000\u040b\u040c\u0005:\u0000\u0000\u040c\u040d\u0005\u0192\u0000\u0000"+
52854 "\u040d\u040e\u0003\b\u0004\u0000\u040e\u0007\u0001\u0000\u0000\u0000\u040f"+
52855 "\u0410\u0007\u0000\u0000\u0000\u0410\t\u0001\u0000\u0000\u0000\u0411\u0412"+
52856 "\u0005{\u0000\u0000\u0412\u041f\u0007\u0001\u0000\u0000\u0413\u0416\u0003"+
52857 "\u00d4j\u0000\u0414\u0416\u0003\u00d6k\u0000\u0415\u0413\u0001\u0000\u0000"+
52858 "\u0000\u0415\u0414\u0001\u0000\u0000\u0000\u0416\u041d\u0001\u0000\u0000"+
52859 "\u0000\u0417\u0418\u0005L\u0000\u0000\u0418\u041b\u0005\u0218\u0000\u0000"+
52860 "\u0419\u041c\u0003\u001c\u000e\u0000\u041a\u041c\u0005\u02b5\u0000\u0000"+
52861 "\u041b\u0419\u0001\u0000\u0000\u0000\u041b\u041a\u0001\u0000\u0000\u0000"+
52862 "\u041b\u041c\u0001\u0000\u0000\u0000\u041c\u041e\u0001\u0000\u0000\u0000"+
52863 "\u041d\u0417\u0001\u0000\u0000\u0000\u041d\u041e\u0001\u0000\u0000\u0000"+
52864 "\u041e\u0420\u0001\u0000\u0000\u0000\u041f\u0415\u0001\u0000\u0000\u0000"+
52865 "\u041f\u0420\u0001\u0000\u0000\u0000\u0420\u000b\u0001\u0000\u0000\u0000"+
52866 "\u0421\u0422\u0005{\u0000\u0000\u0422\u0423\u0005\u0217\u0000\u0000\u0423"+
52867 "\u0426\u0007\u0001\u0000\u0000\u0424\u0427\u0003\u00d4j\u0000\u0425\u0427"+
52868 "\u0003\u00d6k\u0000\u0426\u0424\u0001\u0000\u0000\u0000\u0426\u0425\u0001"+
52869 "\u0000\u0000\u0000\u0426\u0427\u0001\u0000\u0000\u0000\u0427\r\u0001\u0000"+
52870 "\u0000\u0000\u0428\u042e\u0005|\u0000\u0000\u0429\u042c\u0007\u0001\u0000"+
52871 "\u0000\u042a\u042d\u0003\u00d4j\u0000\u042b\u042d\u0003\u00d6k\u0000\u042c"+
52872 "\u042a\u0001\u0000\u0000\u0000\u042c\u042b\u0001\u0000\u0000\u0000\u042c"+
52873 "\u042d\u0001\u0000\u0000\u0000\u042d\u042f\u0001\u0000\u0000\u0000\u042e"+
52874 "\u0429\u0001\u0000\u0000\u0000\u042e\u042f\u0001\u0000\u0000\u0000\u042f"+
52875 "\u0436\u0001\u0000\u0000\u0000\u0430\u0431\u0005L\u0000\u0000\u0431\u0432"+
52876 "\u0005\u001f\u0000\u0000\u0432\u0433\u0005\u027f\u0000\u0000\u0433\u0434"+
52877 "\u0005\u0018\u0000\u0000\u0434\u0435\u0007\u0000\u0000\u0000\u0435\u0437"+
52878 "\u0005 \u0000\u0000\u0436\u0430\u0001\u0000\u0000\u0000\u0436\u0437\u0001"+
52879 "\u0000\u0000\u0000\u0437\u000f\u0001\u0000\u0000\u0000\u0438\u043a\u0005"+
52880 "|\u0000\u0000\u0439\u043b\u0005\u0219\u0000\u0000\u043a\u0439\u0001\u0000"+
52881 "\u0000\u0000\u043a\u043b\u0001\u0000\u0000\u0000\u043b\u0011\u0001\u0000"+
52882 "\u0000\u0000\u043c\u043d\u0005}\u0000\u0000\u043d\u0442\u0007\u0001\u0000"+
52883 "\u0000\u043e\u0443\u0003\u00d4j\u0000\u043f\u0443\u0003\u00d6k\u0000\u0440"+
52884 "\u0443\u0003\u00d8l\u0000\u0441\u0443\u0003\u00dam\u0000\u0442\u043e\u0001"+
52885 "\u0000\u0000\u0000\u0442\u043f\u0001\u0000\u0000\u0000\u0442\u0440\u0001"+
52886 "\u0000\u0000\u0000\u0442\u0441\u0001\u0000\u0000\u0000\u0442\u0443\u0001"+
52887 "\u0000\u0000\u0000\u0443\u0013\u0001\u0000\u0000\u0000\u0444\u0446\u0005"+
52888 "}\u0000\u0000\u0445\u0447\u0005\u0219\u0000\u0000\u0446\u0445\u0001\u0000"+
52889 "\u0000\u0000\u0446\u0447\u0001\u0000\u0000\u0000\u0447\u0015\u0001\u0000"+
52890 "\u0000\u0000\u0448\u0449\u0005\u0124\u0000\u0000\u0449\u044c\u0007\u0001"+
52891 "\u0000\u0000\u044a\u044d\u0003\u00d8l\u0000\u044b\u044d\u0003\u00dam\u0000"+
52892 "\u044c\u044a\u0001\u0000\u0000\u0000\u044c\u044b\u0001\u0000\u0000\u0000"+
52893 "\u044d\u0017\u0001\u0000\u0000\u0000\u044e\u044f\u0005)\u0000\u0000\u044f"+
52894 "\u0019\u0001\u0000\u0000\u0000\u0450\u0458\u0003\u001c\u000e\u0000\u0451"+
52895 "\u0458\u0003\u001e\u000f\u0000\u0452\u0458\u0003 \u0010\u0000\u0453\u0458"+
52896 "\u0003\"\u0011\u0000\u0454\u0458\u0003$\u0012\u0000\u0455\u0458\u0003"+
52897 "&\u0013\u0000\u0456\u0458\u0003(\u0014\u0000\u0457\u0450\u0001\u0000\u0000"+
52898 "\u0000\u0457\u0451\u0001\u0000\u0000\u0000\u0457\u0452\u0001\u0000\u0000"+
52899 "\u0000\u0457\u0453\u0001\u0000\u0000\u0000\u0457\u0454\u0001\u0000\u0000"+
52900 "\u0000\u0457\u0455\u0001\u0000\u0000\u0000\u0457\u0456\u0001\u0000\u0000"+
52901 "\u0000\u0458\u001b\u0001\u0000\u0000\u0000\u0459\u045a\u0007\u0002\u0000"+
52902 "\u0000\u045a\u001d\u0001\u0000\u0000\u0000\u045b\u045d\u0007\u0003\u0000"+
52903 "\u0000\u045c\u045b\u0001\u0000\u0000\u0000\u045c\u045d\u0001\u0000\u0000"+
52904 "\u0000\u045d\u045e\u0001\u0000\u0000\u0000\u045e\u045f\u0005\u02af\u0000"+
52905 "\u0000\u045f\u001f\u0001\u0000\u0000\u0000\u0460\u0461\u0007\u0004\u0000"+
52906 "\u0000\u0461\u0468\u0005\u02ae\u0000\u0000\u0462\u0463\u0005!\u0000\u0000"+
52907 "\u0463\u0464\u0003*\u0015\u0000\u0464\u0465\u0005\u02ae\u0000\u0000\u0465"+
52908 "\u0466\u0005\"\u0000\u0000\u0466\u0468\u0001\u0000\u0000\u0000\u0467\u0460"+
52909 "\u0001\u0000\u0000\u0000\u0467\u0462\u0001\u0000\u0000\u0000\u0468!\u0001"+
52910 "\u0000\u0000\u0000\u0469\u046a\u0005\u02b3\u0000\u0000\u046a#\u0001\u0000"+
52911 "\u0000\u0000\u046b\u046c\u0005\u02b4\u0000\u0000\u046c%\u0001\u0000\u0000"+
52912 "\u0000\u046d\u046e\u0007\u0005\u0000\u0000\u046e\'\u0001\u0000\u0000\u0000"+
52913 "\u046f\u0470\u0005j\u0000\u0000\u0470)\u0001\u0000\u0000\u0000\u0471\u0474"+
52914 "\u0003,\u0016\u0000\u0472\u0474\u0003.\u0017\u0000\u0473\u0471\u0001\u0000"+
52915 "\u0000\u0000\u0473\u0472\u0001\u0000\u0000\u0000\u0474+\u0001\u0000\u0000"+
52916 "\u0000\u0475\u0478\u0005\u02ac\u0000\u0000\u0476\u0478\u00030\u0018\u0000"+
52917 "\u0477\u0475\u0001\u0000\u0000\u0000\u0477\u0476\u0001\u0000\u0000\u0000"+
52918 "\u0478-\u0001\u0000\u0000\u0000\u0479\u047a\u0005\u02ad\u0000\u0000\u047a"+
52919 "/\u0001\u0000\u0000\u0000\u047b\u047c\u0007\u0006\u0000\u0000\u047c1\u0001"+
52920 "\u0000\u0000\u0000\u047d\u047e\u0003*\u0015\u0000\u047e3\u0001\u0000\u0000"+
52921 "\u0000\u047f\u0480\u0003*\u0015\u0000\u04805\u0001\u0000\u0000\u0000\u0481"+
52922 "\u0482\u0003L&\u0000\u0482\u0483\u0005\u0014\u0000\u0000\u0483\u0485\u0001"+
52923 "\u0000\u0000\u0000\u0484\u0481\u0001\u0000\u0000\u0000\u0484\u0485\u0001"+
52924 "\u0000\u0000\u0000\u0485\u0486\u0001\u0000\u0000\u0000\u0486\u0487\u0003"+
52925 "N\'\u0000\u04877\u0001\u0000\u0000\u0000\u0488\u0489\u0003L&\u0000\u0489"+
52926 "\u048a\u0005\u0014\u0000\u0000\u048a\u048c\u0001\u0000\u0000\u0000\u048b"+
52927 "\u0488\u0001\u0000\u0000\u0000\u048b\u048c\u0001\u0000\u0000\u0000\u048c"+
52928 "\u048d\u0001\u0000\u0000\u0000\u048d\u0490\u0003N\'\u0000\u048e\u048f"+
52929 "\u0005+\u0000\u0000\u048f\u0491\u0003\u001e\u000f\u0000\u0490\u048e\u0001"+
52930 "\u0000\u0000\u0000\u0490\u0491\u0001\u0000\u0000\u0000\u04919\u0001\u0000"+
52931 "\u0000\u0000\u0492\u0493\u0003L&\u0000\u0493\u0494\u0005\u0014\u0000\u0000"+
52932 "\u0494\u0496\u0001\u0000\u0000\u0000\u0495\u0492\u0001\u0000\u0000\u0000"+
52933 "\u0495\u0496\u0001\u0000\u0000\u0000\u0496\u0497\u0001\u0000\u0000\u0000"+
52934 "\u0497\u0498\u0003N\'\u0000\u0498;\u0001\u0000\u0000\u0000\u0499\u049a"+
52935 "\u00034\u001a\u0000\u049a\u049b\u0005\u0014\u0000\u0000\u049b\u049d\u0001"+
52936 "\u0000\u0000\u0000\u049c\u0499\u0001\u0000\u0000\u0000\u049c\u049d\u0001"+
52937 "\u0000\u0000\u0000\u049d\u049e\u0001\u0000\u0000\u0000\u049e\u049f\u0003"+
52938 "N\'\u0000\u049f=\u0001\u0000\u0000\u0000\u04a0\u04a1\u00034\u001a\u0000"+
52939 "\u04a1\u04a2\u0005\u0014\u0000\u0000\u04a2\u04a4\u0001\u0000\u0000\u0000"+
52940 "\u04a3\u04a0\u0001\u0000\u0000\u0000\u04a3\u04a4\u0001\u0000\u0000\u0000"+
52941 "\u04a4\u04a5\u0001\u0000\u0000\u0000\u04a5\u04a6\u0003N\'\u0000\u04a6"+
52942 "?\u0001\u0000\u0000\u0000\u04a7\u04a8\u00032\u0019\u0000\u04a8\u04ac\u0005"+
52943 "\u0014\u0000\u0000\u04a9\u04aa\u0003L&\u0000\u04aa\u04ab\u0005\u0014\u0000"+
52944 "\u0000\u04ab\u04ad\u0001\u0000\u0000\u0000\u04ac\u04a9\u0001\u0000\u0000"+
52945 "\u0000\u04ac\u04ad\u0001\u0000\u0000\u0000\u04ad\u04b4\u0001\u0000\u0000"+
52946 "\u0000\u04ae\u04af\u0003L&\u0000\u04af\u04b0\u0005\u0014\u0000\u0000\u04b0"+
52947 "\u04b2\u0001\u0000\u0000\u0000\u04b1\u04ae\u0001\u0000\u0000\u0000\u04b1"+
52948 "\u04b2\u0001\u0000\u0000\u0000\u04b2\u04b4\u0001\u0000\u0000\u0000\u04b3"+
52949 "\u04a7\u0001\u0000\u0000\u0000\u04b3\u04b1\u0001\u0000\u0000\u0000\u04b4"+
52950 "\u04b5\u0001\u0000\u0000\u0000\u04b5\u04b6\u0003N\'\u0000\u04b6A\u0001"+
52951 "\u0000\u0000\u0000\u04b7\u04b8\u00034\u001a\u0000\u04b8\u04b9\u0005\u0014"+
52952 "\u0000\u0000\u04b9\u04bb\u0001\u0000\u0000\u0000\u04ba\u04b7\u0001\u0000"+
52953 "\u0000\u0000\u04ba\u04bb\u0001\u0000\u0000\u0000\u04bb\u04bc\u0001\u0000"+
52954 "\u0000\u0000\u04bc\u04bd\u0003N\'\u0000\u04bdC\u0001\u0000\u0000\u0000"+
52955 "\u04be\u04bf\u0003N\'\u0000\u04bfE\u0001\u0000\u0000\u0000\u04c0\u04c1"+
52956 "\u0003N\'\u0000\u04c1G\u0001\u0000\u0000\u0000\u04c2\u04c3\u0003L&\u0000"+
52957 "\u04c3\u04c4\u0005\u0014\u0000\u0000\u04c4\u04c6\u0001\u0000\u0000\u0000"+
52958 "\u04c5\u04c2\u0001\u0000\u0000\u0000\u04c5\u04c6\u0001\u0000\u0000\u0000"+
52959 "\u04c6\u04c9\u0001\u0000\u0000\u0000\u04c7\u04ca\u0003N\'\u0000\u04c8"+
52960 "\u04ca\u0003J%\u0000\u04c9\u04c7\u0001\u0000\u0000\u0000\u04c9\u04c8\u0001"+
52961 "\u0000\u0000\u0000\u04caI\u0001\u0000\u0000\u0000\u04cb\u04cc\u0005,\u0000"+
52962 "\u0000\u04cc\u04cd\u0005\u001f\u0000\u0000\u04cd\u04ce\u0003N\'\u0000"+
52963 "\u04ce\u04cf\u0005 \u0000\u0000\u04cfK\u0001\u0000\u0000\u0000\u04d0\u04d1"+
52964 "\u0003*\u0015\u0000\u04d1M\u0001\u0000\u0000\u0000\u04d2\u04d3\u0003*"+
52965 "\u0015\u0000\u04d3O\u0001\u0000\u0000\u0000\u04d4\u04d5\u0005\u001f\u0000"+
52966 "\u0000\u04d5\u04da\u0003H$\u0000\u04d6\u04d7\u0005%\u0000\u0000\u04d7"+
52967 "\u04d9\u0003H$\u0000\u04d8\u04d6\u0001\u0000\u0000\u0000\u04d9\u04dc\u0001"+
52968 "\u0000\u0000\u0000\u04da\u04d8\u0001\u0000\u0000\u0000\u04da\u04db\u0001"+
52969 "\u0000\u0000\u0000\u04db\u04dd\u0001\u0000\u0000\u0000\u04dc\u04da\u0001"+
52970 "\u0000\u0000\u0000\u04dd\u04de\u0005 \u0000\u0000\u04deQ\u0001\u0000\u0000"+
52971 "\u0000\u04df\u04e0\u0005\u001f\u0000\u0000\u04e0\u04e5\u0003\u00b0X\u0000"+
52972 "\u04e1\u04e2\u0005%\u0000\u0000\u04e2\u04e4\u0003\u00b0X\u0000\u04e3\u04e1"+
52973 "\u0001\u0000\u0000\u0000\u04e4\u04e7\u0001\u0000\u0000\u0000\u04e5\u04e3"+
52974 "\u0001\u0000\u0000\u0000\u04e5\u04e6\u0001\u0000\u0000\u0000\u04e6\u04e8"+
52975 "\u0001\u0000\u0000\u0000\u04e7\u04e5\u0001\u0000\u0000\u0000\u04e8\u04e9"+
52976 "\u0005 \u0000\u0000\u04e9S\u0001\u0000\u0000\u0000\u04ea\u04ec\u0005\u001f"+
52977 "\u0000\u0000\u04eb\u04ea\u0001\u0000\u0000\u0000\u04eb\u04ec\u0001\u0000"+
52978 "\u0000\u0000\u04ec\u04ed\u0001\u0000\u0000\u0000\u04ed\u04f2\u0003@ \u0000"+
52979 "\u04ee\u04ef\u0005%\u0000\u0000\u04ef\u04f1\u0003@ \u0000\u04f0\u04ee"+
52980 "\u0001\u0000\u0000\u0000\u04f1\u04f4\u0001\u0000\u0000\u0000\u04f2\u04f0"+
52981 "\u0001\u0000\u0000\u0000\u04f2\u04f3\u0001\u0000\u0000\u0000\u04f3\u04f6"+
52982 "\u0001\u0000\u0000\u0000\u04f4\u04f2\u0001\u0000\u0000\u0000\u04f5\u04f7"+
52983 "\u0005 \u0000\u0000\u04f6\u04f5\u0001\u0000\u0000\u0000\u04f6\u04f7\u0001"+
52984 "\u0000\u0000\u0000\u04f7U\u0001\u0000\u0000\u0000\u04f8\u04f9\u0003*\u0015"+
52985 "\u0000\u04f9W\u0001\u0000\u0000\u0000\u04fa\u04fb\u0003*\u0015\u0000\u04fb"+
52986 "Y\u0001\u0000\u0000\u0000\u04fc\u04fd\u0007\u0007\u0000\u0000\u04fd[\u0001"+
52987 "\u0000\u0000\u0000\u04fe\u0501\u0003*\u0015\u0000\u04ff\u0501\u0005\u02ae"+
52988 "\u0000\u0000\u0500\u04fe\u0001\u0000\u0000\u0000\u0500\u04ff\u0001\u0000"+
52989 "\u0000\u0000\u0501]\u0001\u0000\u0000\u0000\u0502\u0508\u0005\u001f\u0000"+
52990 "\u0000\u0503\u0506\u0005\u02af\u0000\u0000\u0504\u0505\u0005%\u0000\u0000"+
52991 "\u0505\u0507\u0005\u02af\u0000\u0000\u0506\u0504\u0001\u0000\u0000\u0000"+
52992 "\u0506\u0507\u0001\u0000\u0000\u0000\u0507\u0509\u0001\u0000\u0000\u0000"+
52993 "\u0508\u0503\u0001\u0000\u0000\u0000\u0508\u0509\u0001\u0000\u0000\u0000"+
52994 "\u0509\u050a\u0001\u0000\u0000\u0000\u050a\u050b\u0005 \u0000\u0000\u050b"+
52995 "_\u0001\u0000\u0000\u0000\u050c\u050e\u0005?\u0000\u0000\u050d\u050c\u0001"+
52996 "\u0000\u0000\u0000\u050d\u050e\u0001\u0000\u0000\u0000\u050e\u050f\u0001"+
52997 "\u0000\u0000\u0000\u050f\u0510\u0005B\u0000\u0000\u0510a\u0001\u0000\u0000"+
52998 "\u0000\u0511\u0512\u00061\uffff\uffff\u0000\u0512\u0513\u0003h4\u0000"+
52999 "\u0513\u0514\u0003b1\u0003\u0514\u051b\u0001\u0000\u0000\u0000\u0515\u0516"+
53000 "\u0005\u001f\u0000\u0000\u0516\u0517\u0003b1\u0000\u0517\u0518\u0005 "+
53001 "\u0000\u0000\u0518\u051b\u0001\u0000\u0000\u0000\u0519\u051b\u0003j5\u0000"+
53002 "\u051a\u0511\u0001\u0000\u0000\u0000\u051a\u0515\u0001\u0000\u0000\u0000"+
53003 "\u051a\u0519\u0001\u0000\u0000\u0000\u051b\u0526\u0001\u0000\u0000\u0000"+
53004 "\u051c\u051d\n\u0005\u0000\u0000\u051d\u051e\u0003d2\u0000\u051e\u051f"+
53005 "\u0003b1\u0006\u051f\u0525\u0001\u0000\u0000\u0000\u0520\u0521\n\u0004"+
53006 "\u0000\u0000\u0521\u0522\u0003f3\u0000\u0522\u0523\u0003b1\u0005\u0523"+
53007 "\u0525\u0001\u0000\u0000\u0000\u0524\u051c\u0001\u0000\u0000\u0000\u0524"+
53008 "\u0520\u0001\u0000\u0000\u0000\u0525\u0528\u0001\u0000\u0000\u0000\u0526"+
53009 "\u0524\u0001\u0000\u0000\u0000\u0526\u0527\u0001\u0000\u0000\u0000\u0527"+
53010 "c\u0001\u0000\u0000\u0000\u0528\u0526\u0001\u0000\u0000\u0000\u0529\u052a"+
53011 "\u0007\b\u0000\u0000\u052ae\u0001\u0000\u0000\u0000\u052b\u052c\u0007"+
53012 "\t\u0000\u0000\u052cg\u0001\u0000\u0000\u0000\u052d\u052e\u0007\n\u0000"+
53013 "\u0000\u052ei\u0001\u0000\u0000\u0000\u052f\u0530\u00065\uffff\uffff\u0000"+
53014 "\u0530\u0531\u0003n7\u0000\u0531\u0546\u0001\u0000\u0000\u0000\u0532\u0533"+
53015 "\n\u0005\u0000\u0000\u0533\u0535\u0005h\u0000\u0000\u0534\u0536\u0005"+
53016 "i\u0000\u0000\u0535\u0534\u0001\u0000\u0000\u0000\u0535\u0536\u0001\u0000"+
53017 "\u0000\u0000\u0536\u0537\u0001\u0000\u0000\u0000\u0537\u0545\u0007\u000b"+
53018 "\u0000\u0000\u0538\u0539\n\u0004\u0000\u0000\u0539\u053a\u0005\u0016\u0000"+
53019 "\u0000\u053a\u0545\u0003n7\u0000\u053b\u053c\n\u0003\u0000\u0000\u053c"+
53020 "\u053d\u0003l6\u0000\u053d\u053e\u0003n7\u0000\u053e\u0545\u0001\u0000"+
53021 "\u0000\u0000\u053f\u0540\n\u0002\u0000\u0000\u0540\u0541\u0003l6\u0000"+
53022 "\u0541\u0542\u0007\f\u0000\u0000\u0542\u0543\u0003\u02d4\u016a\u0000\u0543"+
53023 "\u0545\u0001\u0000\u0000\u0000\u0544\u0532\u0001\u0000\u0000\u0000\u0544"+
53024 "\u0538\u0001\u0000\u0000\u0000\u0544\u053b\u0001\u0000\u0000\u0000\u0544"+
53025 "\u053f\u0001\u0000\u0000\u0000\u0545\u0548\u0001\u0000\u0000\u0000\u0546"+
53026 "\u0544\u0001\u0000\u0000\u0000\u0546\u0547\u0001\u0000\u0000\u0000\u0547"+
53027 "k\u0001\u0000\u0000\u0000\u0548\u0546\u0001\u0000\u0000\u0000\u0549\u054a"+
53028 "\u0007\r\u0000\u0000\u054am\u0001\u0000\u0000\u0000\u054b\u054d\u0003"+
53029 "p8\u0000\u054c\u054e\u0005i\u0000\u0000\u054d\u054c\u0001\u0000\u0000"+
53030 "\u0000\u054d\u054e\u0001\u0000\u0000\u0000\u054e\u054f\u0001\u0000\u0000"+
53031 "\u0000\u054f\u0550\u0005o\u0000\u0000\u0550\u0551\u0003\u02d4\u016a\u0000"+
53032 "\u0551\u0577\u0001\u0000\u0000\u0000\u0552\u0554\u0003p8\u0000\u0553\u0555"+
53033 "\u0005i\u0000\u0000\u0554\u0553\u0001\u0000\u0000\u0000\u0554\u0555\u0001"+
53034 "\u0000\u0000\u0000\u0555\u0556\u0001\u0000\u0000\u0000\u0556\u0557\u0005"+
53035 "o\u0000\u0000\u0557\u0558\u0005\u001f\u0000\u0000\u0558\u055d\u0003b1"+
53036 "\u0000\u0559\u055a\u0005%";
53037 private static final String _serializedATNSegment1 =
53038 "\u0000\u0000\u055a\u055c\u0003b1\u0000\u055b\u0559\u0001\u0000\u0000\u0000"+
53039 "\u055c\u055f\u0001\u0000\u0000\u0000\u055d\u055b\u0001\u0000\u0000\u0000"+
53040 "\u055d\u055e\u0001\u0000\u0000\u0000\u055e\u0560\u0001\u0000\u0000\u0000"+
53041 "\u055f\u055d\u0001\u0000\u0000\u0000\u0560\u0561\u0005 \u0000\u0000\u0561"+
53042 "\u0577\u0001\u0000\u0000\u0000\u0562\u0564\u0003p8\u0000\u0563\u0565\u0005"+
53043 "i\u0000\u0000\u0564\u0563\u0001\u0000\u0000\u0000\u0564\u0565\u0001\u0000"+
53044 "\u0000\u0000\u0565\u0566\u0001\u0000\u0000\u0000\u0566\u0567\u0005n\u0000"+
53045 "\u0000\u0567\u0568\u0003p8\u0000\u0568\u0569\u0005f\u0000\u0000\u0569"+
53046 "\u056a\u0003n7\u0000\u056a\u0577\u0001\u0000\u0000\u0000\u056b\u056d\u0003"+
53047 "p8\u0000\u056c\u056e\u0005i\u0000\u0000\u056d\u056c\u0001\u0000\u0000"+
53048 "\u0000\u056d\u056e\u0001\u0000\u0000\u0000\u056e\u056f\u0001\u0000\u0000"+
53049 "\u0000\u056f\u0570\u0005r\u0000\u0000\u0570\u0573\u0003r9\u0000\u0571"+
53050 "\u0572\u0005\u00d7\u0000\u0000\u0572\u0574\u0003r9\u0000\u0573\u0571\u0001"+
53051 "\u0000\u0000\u0000\u0573\u0574\u0001\u0000\u0000\u0000\u0574\u0577\u0001"+
53052 "\u0000\u0000\u0000\u0575\u0577\u0003p8\u0000\u0576\u054b\u0001\u0000\u0000"+
53053 "\u0000\u0576\u0552\u0001\u0000\u0000\u0000\u0576\u0562\u0001\u0000\u0000"+
53054 "\u0000\u0576\u056b\u0001\u0000\u0000\u0000\u0576\u0575\u0001\u0000\u0000"+
53055 "\u0000\u0577o\u0001\u0000\u0000\u0000\u0578\u0579\u00068\uffff\uffff\u0000"+
53056 "\u0579\u057a\u0003r9\u0000\u057a\u059b\u0001\u0000\u0000\u0000\u057b\u057c"+
53057 "\n\u000b\u0000\u0000\u057c\u057d\u0005\b\u0000\u0000\u057d\u059a\u0003"+
53058 "p8\f\u057e\u057f\n\n\u0000\u0000\u057f\u0580\u0005\t\u0000\u0000\u0580"+
53059 "\u059a\u0003p8\u000b\u0581\u0582\n\t\u0000\u0000\u0582\u0583\u0005\n\u0000"+
53060 "\u0000\u0583\u059a\u0003p8\n\u0584\u0585\n\b\u0000\u0000\u0585\u0586\u0005"+
53061 "\u000b\u0000\u0000\u0586\u059a\u0003p8\t\u0587\u0588\n\u0007\u0000\u0000"+
53062 "\u0588\u0589\u0005\u000f\u0000\u0000\u0589\u059a\u0003p8\b\u058a\u058b"+
53063 "\n\u0006\u0000\u0000\u058b\u058c\u0005\u0010\u0000\u0000\u058c\u059a\u0003"+
53064 "p8\u0007\u058d\u058e\n\u0005\u0000\u0000\u058e\u058f\u0005\u0011\u0000"+
53065 "\u0000\u058f\u059a\u0003p8\u0006\u0590\u0591\n\u0004\u0000\u0000\u0591"+
53066 "\u0592\u0005\u0012\u0000\u0000\u0592\u059a\u0003p8\u0005\u0593\u0594\n"+
53067 "\u0003\u0000\u0000\u0594\u0595\u0005\r\u0000\u0000\u0595\u059a\u0003p"+
53068 "8\u0004\u0596\u0597\n\u0002\u0000\u0000\u0597\u0598\u0005\f\u0000\u0000"+
53069 "\u0598\u059a\u0003p8\u0003\u0599\u057b\u0001\u0000\u0000\u0000\u0599\u057e"+
53070 "\u0001\u0000\u0000\u0000\u0599\u0581\u0001\u0000\u0000\u0000\u0599\u0584"+
53071 "\u0001\u0000\u0000\u0000\u0599\u0587\u0001\u0000\u0000\u0000\u0599\u058a"+
53072 "\u0001\u0000\u0000\u0000\u0599\u058d\u0001\u0000\u0000\u0000\u0599\u0590"+
53073 "\u0001\u0000\u0000\u0000\u0599\u0593\u0001\u0000\u0000\u0000\u0599\u0596"+
53074 "\u0001\u0000\u0000\u0000\u059a\u059d\u0001\u0000\u0000\u0000\u059b\u0599"+
53075 "\u0001\u0000\u0000\u0000\u059b\u059c\u0001\u0000\u0000\u0000\u059cq\u0001"+
53076 "\u0000\u0000\u0000\u059d\u059b\u0001\u0000\u0000\u0000\u059e\u059f\u0006"+
53077 "9\uffff\uffff\u0000\u059f\u05c0\u0003t:\u0000\u05a0\u05c0\u0003\u0018"+
53078 "\f\u0000\u05a1\u05c0\u0003\u001a\r\u0000\u05a2\u05c0\u0003H$\u0000\u05a3"+
53079 "\u05c0\u0003\u00d0h\u0000\u05a4\u05a5\u0007\u000e\u0000\u0000\u05a5\u05c0"+
53080 "\u0003r9\u0006\u05a6\u05a8\u0005\u00dd\u0000\u0000\u05a7\u05a6\u0001\u0000"+
53081 "\u0000\u0000\u05a7\u05a8\u0001\u0000\u0000\u0000\u05a8\u05a9\u0001\u0000"+
53082 "\u0000\u0000\u05a9\u05aa\u0005\u001f\u0000\u0000\u05aa\u05af\u0003b1\u0000"+
53083 "\u05ab\u05ac\u0005%\u0000\u0000\u05ac\u05ae\u0003b1\u0000\u05ad\u05ab"+
53084 "\u0001\u0000\u0000\u0000\u05ae\u05b1\u0001\u0000\u0000\u0000\u05af\u05ad"+
53085 "\u0001\u0000\u0000\u0000\u05af\u05b0\u0001\u0000\u0000\u0000\u05b0\u05b2"+
53086 "\u0001\u0000\u0000\u0000\u05b1\u05af\u0001\u0000\u0000\u0000\u05b2\u05b3"+
53087 "\u0005 \u0000\u0000\u05b3\u05c0\u0001\u0000\u0000\u0000\u05b4\u05b6\u0005"+
53088 "m\u0000\u0000\u05b5\u05b4\u0001\u0000\u0000\u0000\u05b5\u05b6\u0001\u0000"+
53089 "\u0000\u0000\u05b6\u05b7\u0001\u0000\u0000\u0000\u05b7\u05c0\u0003\u02d4"+
53090 "\u016a\u0000\u05b8\u05b9\u0005!\u0000\u0000\u05b9\u05ba\u0003*\u0015\u0000"+
53091 "\u05ba\u05bb\u0003b1\u0000\u05bb\u05bc\u0005\"\u0000\u0000\u05bc\u05c0"+
53092 "\u0001\u0000\u0000\u0000\u05bd\u05c0\u0003\u0088D\u0000\u05be\u05c0\u0003"+
53093 "\u008eG\u0000\u05bf\u059e\u0001\u0000\u0000\u0000\u05bf\u05a0\u0001\u0000"+
53094 "\u0000\u0000\u05bf\u05a1\u0001\u0000\u0000\u0000\u05bf\u05a2\u0001\u0000"+
53095 "\u0000\u0000\u05bf\u05a3\u0001\u0000\u0000\u0000\u05bf\u05a4\u0001\u0000"+
53096 "\u0000\u0000\u05bf\u05a7\u0001\u0000\u0000\u0000\u05bf\u05b5\u0001\u0000"+
53097 "\u0000\u0000\u05bf\u05b8\u0001\u0000\u0000\u0000\u05bf\u05bd\u0001\u0000"+
53098 "\u0000\u0000\u05bf\u05be\u0001\u0000\u0000\u0000\u05c0\u05c6\u0001\u0000"+
53099 "\u0000\u0000\u05c1\u05c2\n\u0007\u0000\u0000\u05c2\u05c3\u0005\u0005\u0000"+
53100 "\u0000\u05c3\u05c5\u0003r9\b\u05c4\u05c1\u0001\u0000\u0000\u0000\u05c5"+
53101 "\u05c8\u0001\u0000\u0000\u0000\u05c6\u05c4\u0001\u0000\u0000\u0000\u05c6"+
53102 "\u05c7\u0001\u0000\u0000\u0000\u05c7s\u0001\u0000\u0000\u0000\u05c8\u05c6"+
53103 "\u0001\u0000\u0000\u0000\u05c9\u05cd\u0003v;\u0000\u05ca\u05cd\u0003|"+
53104 ">\u0000\u05cb\u05cd\u0003\u0084B\u0000\u05cc\u05c9\u0001\u0000\u0000\u0000"+
53105 "\u05cc\u05ca\u0001\u0000\u0000\u0000\u05cc\u05cb\u0001\u0000\u0000\u0000"+
53106 "\u05cdu\u0001\u0000\u0000\u0000\u05ce\u05cf\u0003x<\u0000\u05cf\u05d1"+
53107 "\u0005\u001f\u0000\u0000\u05d0\u05d2\u0003z=\u0000\u05d1\u05d0\u0001\u0000"+
53108 "\u0000\u0000\u05d1\u05d2\u0001\u0000\u0000\u0000\u05d2\u05dc\u0001\u0000"+
53109 "\u0000\u0000\u05d3\u05d8\u0003b1\u0000\u05d4\u05d5\u0005%\u0000\u0000"+
53110 "\u05d5\u05d7\u0003b1\u0000\u05d6\u05d4\u0001\u0000\u0000\u0000\u05d7\u05da"+
53111 "\u0001\u0000\u0000\u0000\u05d8\u05d6\u0001\u0000\u0000\u0000\u05d8\u05d9"+
53112 "\u0001\u0000\u0000\u0000\u05d9\u05dd\u0001\u0000\u0000\u0000\u05da\u05d8"+
53113 "\u0001\u0000\u0000\u0000\u05db\u05dd\u0005\u0011\u0000\u0000\u05dc\u05d3"+
53114 "\u0001\u0000\u0000\u0000\u05dc\u05db\u0001\u0000\u0000\u0000\u05dc\u05dd"+
53115 "\u0001\u0000\u0000\u0000\u05dd\u05de\u0001\u0000\u0000\u0000\u05de\u05df"+
53116 "\u0005 \u0000\u0000\u05dfw\u0001\u0000\u0000\u0000\u05e0\u05e1\u0007\u000f"+
53117 "\u0000\u0000\u05e1y\u0001\u0000\u0000\u0000\u05e2\u05e3\u0005N\u0000\u0000"+
53118 "\u05e3{\u0001\u0000\u0000\u0000\u05e4\u05e8\u0003~?\u0000\u05e5\u05e8"+
53119 "\u0003\u0082A\u0000\u05e6\u05e8\u0003\u0080@\u0000\u05e7\u05e4\u0001\u0000"+
53120 "\u0000\u0000\u05e7\u05e5\u0001\u0000\u0000\u0000\u05e7\u05e6\u0001\u0000"+
53121 "\u0000\u0000\u05e8}\u0001\u0000\u0000\u0000\u05e9\u05ea\u0005Q\u0000\u0000"+
53122 "\u05ea\u05eb\u0005\u001f\u0000\u0000\u05eb\u05ec\u0003b1\u0000\u05ec\u05ed"+
53123 "\u0005_\u0000\u0000\u05ed\u05ee\u0003\u0094J\u0000\u05ee\u05ef\u0005 "+
53124 "\u0000\u0000\u05ef\u007f\u0001\u0000\u0000\u0000\u05f0\u05f1\u0005\u00f6"+
53125 "\u0000\u0000\u05f1\u05f2\u0005\u001f\u0000\u0000\u05f2\u05f3\u0003\u0094"+
53126 "J\u0000\u05f3\u05f4\u0005%\u0000\u0000\u05f4\u05f7\u0003b1\u0000\u05f5"+
53127 "\u05f6\u0005%\u0000\u0000\u05f6\u05f8\u0005\u02af\u0000\u0000\u05f7\u05f5"+
53128 "\u0001\u0000\u0000\u0000\u05f7\u05f8\u0001\u0000\u0000\u0000\u05f8\u05f9"+
53129 "\u0001\u0000\u0000\u0000\u05f9\u05fa\u0005 \u0000\u0000\u05fa\u0081\u0001"+
53130 "\u0000\u0000\u0000\u05fb\u05fc\u0005\u0081\u0000\u0000\u05fc\u05fd\u0005"+
53131 "\u001f\u0000\u0000\u05fd\u0602\u0003b1\u0000\u05fe\u05ff\u0005%\u0000"+
53132 "\u0000\u05ff\u0601\u0003b1\u0000\u0600\u05fe\u0001\u0000\u0000\u0000\u0601"+
53133 "\u0604\u0001\u0000\u0000\u0000\u0602\u0600\u0001\u0000\u0000\u0000\u0602"+
53134 "\u0603\u0001\u0000\u0000\u0000\u0603\u0607\u0001\u0000\u0000\u0000\u0604"+
53135 "\u0602\u0001\u0000\u0000\u0000\u0605\u0606\u0005]\u0000\u0000\u0606\u0608"+
53136 "\u0003\u00cae\u0000\u0607\u0605\u0001\u0000\u0000\u0000\u0607\u0608\u0001"+
53137 "\u0000\u0000\u0000\u0608\u0609\u0001\u0000\u0000\u0000\u0609\u060a\u0005"+
53138 " \u0000\u0000\u060a\u0083\u0001\u0000\u0000\u0000\u060b\u060c\u0003\u0086"+
53139 "C\u0000\u060c\u0616\u0005\u001f\u0000\u0000\u060d\u0612\u0003b1\u0000"+
53140 "\u060e\u060f\u0005%\u0000\u0000\u060f\u0611\u0003b1\u0000\u0610\u060e"+
53141 "\u0001\u0000\u0000\u0000\u0611\u0614\u0001\u0000\u0000\u0000\u0612\u0610"+
53142 "\u0001\u0000\u0000\u0000\u0612\u0613\u0001\u0000\u0000\u0000\u0613\u0617"+
53143 "\u0001\u0000\u0000\u0000\u0614\u0612\u0001\u0000\u0000\u0000\u0615\u0617"+
53144 "\u0005\u0011\u0000\u0000\u0616\u060d\u0001\u0000\u0000\u0000\u0616\u0615"+
53145 "\u0001\u0000\u0000\u0000\u0616\u0617\u0001\u0000\u0000\u0000\u0617\u0618"+
53146 "\u0001\u0000\u0000\u0000\u0618\u0619\u0005 \u0000\u0000\u0619\u0085\u0001"+
53147 "\u0000\u0000\u0000\u061a\u061b\u0003L&\u0000\u061b\u061c\u0005\u0014\u0000"+
53148 "\u0000\u061c\u061e\u0001\u0000\u0000\u0000\u061d\u061a\u0001\u0000\u0000"+
53149 "\u0000\u061d\u061e\u0001\u0000\u0000\u0000\u061e\u061f\u0001\u0000\u0000"+
53150 "\u0000\u061f\u0625\u0003*\u0015\u0000\u0620\u0625\u0005a\u0000\u0000\u0621"+
53151 "\u0625\u0005\u0088\u0000\u0000\u0622\u0625\u0005\u0089\u0000\u0000\u0623"+
53152 "\u0625\u0005\u0084\u0000\u0000\u0624\u061d\u0001\u0000\u0000\u0000\u0624"+
53153 "\u0620\u0001\u0000\u0000\u0000\u0624\u0621\u0001\u0000\u0000\u0000\u0624"+
53154 "\u0622\u0001\u0000\u0000\u0000\u0624\u0623\u0001\u0000\u0000\u0000\u0625"+
53155 "\u0087\u0001\u0000\u0000\u0000\u0626\u0628\u0005O\u0000\u0000\u0627\u0629"+
53156 "\u0003r9\u0000\u0628\u0627\u0001\u0000\u0000\u0000\u0628\u0629\u0001\u0000"+
53157 "\u0000\u0000\u0629\u062b\u0001\u0000\u0000\u0000\u062a\u062c\u0003\u008a"+
53158 "E\u0000\u062b\u062a\u0001\u0000\u0000\u0000\u062c\u062d\u0001\u0000\u0000"+
53159 "\u0000\u062d\u062b\u0001\u0000\u0000\u0000\u062d\u062e\u0001\u0000\u0000"+
53160 "\u0000\u062e\u0630\u0001\u0000\u0000\u0000\u062f\u0631\u0003\u008cF\u0000"+
53161 "\u0630\u062f\u0001\u0000\u0000\u0000\u0630\u0631\u0001\u0000\u0000\u0000"+
53162 "\u0631\u0632\u0001\u0000\u0000\u0000\u0632\u0633\u0005\u0102\u0000\u0000"+
53163 "\u0633\u0089\u0001\u0000\u0000\u0000\u0634\u0635\u0005P\u0000\u0000\u0635"+
53164 "\u0636\u0003b1\u0000\u0636\u0637\u0005c\u0000\u0000\u0637\u0638\u0003"+
53165 "b1\u0000\u0638\u008b\u0001\u0000\u0000\u0000\u0639\u063a\u0005b\u0000"+
53166 "\u0000\u063a\u063b\u0003b1\u0000\u063b\u008d\u0001\u0000\u0000\u0000\u063c"+
53167 "\u0641\u0003\u009eO\u0000\u063d\u0641\u0003\u0098L\u0000\u063e\u0641\u0003"+
53168 "\u009aM\u0000\u063f\u0641\u0003\u009cN\u0000\u0640\u063c\u0001\u0000\u0000"+
53169 "\u0000\u0640\u063d\u0001\u0000\u0000\u0000\u0640\u063e\u0001\u0000\u0000"+
53170 "\u0000\u0640\u063f\u0001\u0000\u0000\u0000\u0641\u008f\u0001\u0000\u0000"+
53171 "\u0000\u0642\u0643\u0005s\u0000\u0000\u0643\u0644\u0005u\u0000\u0000\u0644"+
53172 "\u0649\u0003\u0092I\u0000\u0645\u0646\u0005%\u0000\u0000\u0646\u0648\u0003"+
53173 "\u0092I\u0000\u0647\u0645\u0001\u0000\u0000\u0000\u0648\u064b\u0001\u0000"+
53174 "\u0000\u0000\u0649\u0647\u0001\u0000\u0000\u0000\u0649\u064a\u0001\u0000"+
53175 "\u0000\u0000\u064a\u0657\u0001\u0000\u0000\u0000\u064b\u0649\u0001\u0000"+
53176 "\u0000\u0000\u064c\u064d\u0005z\u0000\u0000\u064d\u064e\u0003b1\u0000"+
53177 "\u064e\u0655\u0007\u0010\u0000\u0000\u064f\u0650\u0005\u01a4\u0000\u0000"+
53178 "\u0650\u0651\u0007\u0011\u0000\u0000\u0651\u0652\u0003b1\u0000\u0652\u0653"+
53179 "\u0007\u0010\u0000\u0000\u0653\u0654\u0005\u01a6\u0000\u0000\u0654\u0656"+
53180 "\u0001\u0000\u0000\u0000\u0655\u064f\u0001\u0000\u0000\u0000\u0655\u0656"+
53181 "\u0001\u0000\u0000\u0000\u0656\u0658\u0001\u0000\u0000\u0000\u0657\u064c"+
53182 "\u0001\u0000\u0000\u0000\u0657\u0658\u0001\u0000\u0000\u0000\u0658\u0091"+
53183 "\u0001\u0000\u0000\u0000\u0659\u065d\u0003H$\u0000\u065a\u065d\u0003\u001e"+
53184 "\u000f\u0000\u065b\u065d\u0003b1\u0000\u065c\u0659\u0001\u0000\u0000\u0000"+
53185 "\u065c\u065a\u0001\u0000\u0000\u0000\u065c\u065b\u0001\u0000\u0000\u0000"+
53186 "\u065d\u0660\u0001\u0000\u0000\u0000\u065e\u065f\u0005\u00f3\u0000\u0000"+
53187 "\u065f\u0661\u0003*\u0015\u0000\u0660\u065e\u0001\u0000\u0000\u0000\u0660"+
53188 "\u0661\u0001\u0000\u0000\u0000\u0661\u0663\u0001\u0000\u0000\u0000\u0662"+
53189 "\u0664\u0007\u0012\u0000\u0000\u0663\u0662\u0001\u0000\u0000\u0000\u0663"+
53190 "\u0664\u0001\u0000\u0000\u0000\u0664\u0093\u0001\u0000\u0000\u0000\u0665"+
53191 "\u0666\u0003\u00cae\u0000\u0666\u0667\u0005\u0014\u0000\u0000\u0667\u0669"+
53192 "\u0001\u0000\u0000\u0000\u0668\u0665\u0001\u0000\u0000\u0000\u0668\u0669"+
53193 "\u0001\u0000\u0000\u0000\u0669\u066a\u0001\u0000\u0000\u0000\u066a\u0676"+
53194 "\u0003\u0096K\u0000\u066b\u0677\u0003^/\u0000\u066c\u066d\u0005\u001f"+
53195 "\u0000\u0000\u066d\u066e\u0005\u0093\u0000\u0000\u066e\u0677\u0005 \u0000"+
53196 "\u0000\u066f\u0671\u0005\u001f\u0000\u0000\u0670\u0672\u0007\u0013\u0000"+
53197 "\u0000\u0671\u0670\u0001\u0000\u0000\u0000\u0671\u0672\u0001\u0000\u0000"+
53198 "\u0000\u0672\u0673\u0001\u0000\u0000\u0000\u0673\u0674\u0003\u00cae\u0000"+
53199 "\u0674\u0675\u0005 \u0000\u0000\u0675\u0677\u0001\u0000\u0000\u0000\u0676"+
53200 "\u066b\u0001\u0000\u0000\u0000\u0676\u066c\u0001\u0000\u0000\u0000\u0676"+
53201 "\u066f\u0001\u0000\u0000\u0000\u0676\u0677\u0001\u0000\u0000\u0000\u0677"+
53202 "\u0095\u0001\u0000\u0000\u0000\u0678\u0679\u0007\u0014\u0000\u0000\u0679"+
53203 "\u0097\u0001\u0000\u0000\u0000\u067a\u067e\u0005\u02ac\u0000\u0000\u067b"+
53204 "\u067c\u0005L\u0000\u0000\u067c\u067d\u0005\u0086\u0000\u0000\u067d\u067f"+
53205 "\u0005\u012a\u0000\u0000\u067e\u067b\u0001\u0000\u0000\u0000\u067e\u067f"+
53206 "\u0001\u0000\u0000\u0000\u067f\u0680\u0001\u0000\u0000\u0000\u0680\u0681"+
53207 "\u0005\u02ae\u0000\u0000\u0681\u0099\u0001\u0000\u0000\u0000\u0682\u0683"+
53208 "\u0005Q\u0000\u0000\u0683\u0684\u0005\u001f\u0000\u0000\u0684\u0685\u0003"+
53209 "b1\u0000\u0685\u0686\u0005_\u0000\u0000\u0686\u068a\u0003\u0094J\u0000"+
53210 "\u0687\u0688\u0005\u001f\u0000\u0000\u0688\u0689\u0005\u02af\u0000\u0000"+
53211 "\u0689\u068b\u0005 \u0000\u0000\u068a\u0687\u0001\u0000\u0000\u0000\u068a"+
53212 "\u068b\u0001\u0000\u0000\u0000\u068b\u068c\u0001\u0000\u0000\u0000\u068c"+
53213 "\u068d\u0005 \u0000\u0000\u068d\u009b\u0001\u0000\u0000\u0000\u068e\u068f"+
53214 "\u0005\u00f6\u0000\u0000\u068f\u0693\u0003\u0094J\u0000\u0690\u0691\u0005"+
53215 "\u001f\u0000\u0000\u0691\u0692\u0005\u02af\u0000\u0000\u0692\u0694\u0005"+
53216 " \u0000\u0000\u0693\u0690\u0001\u0000\u0000\u0000\u0693\u0694\u0001\u0000"+
53217 "\u0000\u0000\u0694\u0695\u0001\u0000\u0000\u0000\u0695\u0696\u0005%\u0000"+
53218 "\u0000\u0696\u0699\u0003b1\u0000\u0697\u0698\u0005%\u0000\u0000\u0698"+
53219 "\u069a\u0005\u02af\u0000\u0000\u0699\u0697\u0001\u0000\u0000\u0000\u0699"+
53220 "\u069a\u0001\u0000\u0000\u0000\u069a\u009d\u0001\u0000\u0000\u0000\u069b"+
53221 "\u069c\u0003t:\u0000\u069c\u069d\u0003\u00a0P\u0000\u069d\u009f\u0001"+
53222 "\u0000\u0000\u0000\u069e\u069f\u0005\u0117\u0000\u0000\u069f\u06a1\u0005"+
53223 "\u001f\u0000\u0000\u06a0\u06a2\u0003\u00a2Q\u0000\u06a1\u06a0\u0001\u0000"+
53224 "\u0000\u0000\u06a1\u06a2\u0001\u0000\u0000\u0000\u06a2\u06a4\u0001\u0000"+
53225 "\u0000\u0000\u06a3\u06a5\u0003\u0090H\u0000\u06a4\u06a3\u0001\u0000\u0000"+
53226 "\u0000\u06a4\u06a5\u0001\u0000\u0000\u0000\u06a5\u06a7\u0001\u0000\u0000"+
53227 "\u0000\u06a6\u06a8\u0003\u00a4R\u0000\u06a7\u06a6\u0001\u0000\u0000\u0000"+
53228 "\u06a7\u06a8\u0001\u0000\u0000\u0000\u06a8\u06a9\u0001\u0000\u0000\u0000"+
53229 "\u06a9\u06aa\u0005 \u0000\u0000\u06aa\u00a1\u0001\u0000\u0000\u0000\u06ab"+
53230 "\u06ac\u0005\u00da\u0000\u0000\u06ac\u06ad\u0005u\u0000\u0000\u06ad\u06b2"+
53231 "\u0003b1\u0000\u06ae\u06af\u0005%\u0000\u0000\u06af\u06b1\u0003b1\u0000"+
53232 "\u06b0\u06ae\u0001\u0000\u0000\u0000\u06b1\u06b4\u0001\u0000\u0000\u0000"+
53233 "\u06b2\u06b0\u0001\u0000\u0000\u0000\u06b2\u06b3\u0001\u0000\u0000\u0000"+
53234 "\u06b3\u00a3\u0001\u0000\u0000\u0000\u06b4\u06b2\u0001\u0000\u0000\u0000"+
53235 "\u06b5\u06b6\u0007\u0015\u0000\u0000\u06b6\u06b7\u0003\u00a6S\u0000\u06b7"+
53236 "\u00a5\u0001\u0000\u0000\u0000\u06b8\u06bb\u0003\u00acV\u0000\u06b9\u06bb"+
53237 "\u0003\u00a8T\u0000\u06ba\u06b8\u0001\u0000\u0000\u0000\u06ba\u06b9\u0001"+
53238 "\u0000\u0000\u0000\u06bb\u00a7\u0001\u0000\u0000\u0000\u06bc\u06bd\u0005"+
53239 "n\u0000\u0000\u06bd\u06be\u0003\u00aaU\u0000\u06be\u06bf\u0005f\u0000"+
53240 "\u0000\u06bf\u06c0\u0003\u00aaU\u0000\u06c0\u00a9\u0001\u0000\u0000\u0000"+
53241 "\u06c1\u06c4\u0003\u00acV\u0000\u06c2\u06c4\u0003\u00aeW\u0000\u06c3\u06c1"+
53242 "\u0001\u0000\u0000\u0000\u06c3\u06c2\u0001\u0000\u0000\u0000\u06c4\u00ab"+
53243 "\u0001\u0000\u0000\u0000\u06c5\u06c6\u0005\u010c\u0000\u0000\u06c6\u06cc"+
53244 "\u0005\u011c\u0000\u0000\u06c7\u06c8\u0005\u02af\u0000\u0000\u06c8\u06cc"+
53245 "\u0005\u011c\u0000\u0000\u06c9\u06ca\u0005\u0099\u0000\u0000\u06ca\u06cc"+
53246 "\u0005\u00dd\u0000\u0000\u06cb\u06c5\u0001\u0000\u0000\u0000\u06cb\u06c7"+
53247 "\u0001\u0000\u0000\u0000\u06cb\u06c9\u0001\u0000\u0000\u0000\u06cc\u00ad"+
53248 "\u0001\u0000\u0000\u0000\u06cd\u06ce\u0005\u010c\u0000\u0000\u06ce\u06d4"+
53249 "\u0005\u0106\u0000\u0000\u06cf\u06d0\u0005\u02af\u0000\u0000\u06d0\u06d4"+
53250 "\u0005\u0106\u0000\u0000\u06d1\u06d2\u0005\u0099\u0000\u0000\u06d2\u06d4"+
53251 "\u0005\u00dd\u0000\u0000\u06d3\u06cd\u0001\u0000\u0000\u0000\u06d3\u06cf"+
53252 "\u0001\u0000\u0000\u0000\u06d3\u06d1\u0001\u0000\u0000\u0000\u06d4\u00af"+
53253 "\u0001\u0000\u0000\u0000\u06d5\u06d7\u0003H$\u0000\u06d6\u06d8\u0007\u0012"+
53254 "\u0000\u0000\u06d7\u06d6\u0001\u0000\u0000\u0000\u06d7\u06d8\u0001\u0000"+
53255 "\u0000\u0000\u06d8\u00b1\u0001\u0000\u0000\u0000\u06d9\u06da\u0005\u0105"+
53256 "\u0000\u0000\u06da\u06db\u0005\u0018\u0000\u0000\u06db\u06e7\u0005\u02af"+
53257 "\u0000\u0000\u06dc\u06e7\u0003\u00b8\\\u0000\u06dd\u06de\u0007\u0016\u0000"+
53258 "\u0000\u06de\u06e7\u0003\u00b6[\u0000\u06df\u06e0\u0005\u0110\u0000\u0000"+
53259 "\u06e0\u06e1\u0005\u0018\u0000\u0000\u06e1\u06e7\u0005\u02af\u0000\u0000"+
53260 "\u06e2\u06e4\u0003\u00b4Z\u0000\u06e3\u06e5\u0003\u00be_\u0000\u06e4\u06e3"+
53261 "\u0001\u0000\u0000\u0000\u06e4\u06e5\u0001\u0000\u0000\u0000\u06e5\u06e7"+
53262 "\u0001\u0000\u0000\u0000\u06e6\u06d9\u0001\u0000\u0000\u0000\u06e6\u06dc"+
53263 "\u0001\u0000\u0000\u0000\u06e6\u06dd\u0001\u0000\u0000\u0000\u06e6\u06df"+
53264 "\u0001\u0000\u0000\u0000\u06e6\u06e2\u0001\u0000\u0000\u0000\u06e7\u00b3"+
53265 "\u0001\u0000\u0000\u0000\u06e8\u06e9\u0005\u0184\u0000\u0000\u06e9\u06ea"+
53266 "\u0005\u0018\u0000\u0000\u06ea\u06eb\u0007\u0017\u0000\u0000\u06eb\u00b5"+
53267 "\u0001\u0000\u0000\u0000\u06ec\u06ed\u0005\u0018\u0000\u0000\u06ed\u06ef"+
53268 "\u0005\u02af\u0000\u0000\u06ee\u06f0\u0005\u00fb\u0000\u0000\u06ef\u06ee"+
53269 "\u0001\u0000\u0000\u0000\u06ef\u06f0\u0001\u0000\u0000\u0000\u06f0\u00b7"+
53270 "\u0001\u0000\u0000\u0000\u06f1\u06f2\u0003\u00ba]\u0000\u06f2\u06f3\u0003"+
53271 "\u00bc^\u0000\u06f3\u00b9\u0001\u0000\u0000\u0000\u06f4\u06f5\u0007\u0018"+
53272 "\u0000\u0000\u06f5\u00bb\u0001\u0000\u0000\u0000\u06f6\u06f7\u0005\u0018"+
53273 "\u0000\u0000\u06f7\u06f8\u0007\u0000\u0000\u0000\u06f8\u00bd\u0001\u0000"+
53274 "\u0000\u0000\u06f9\u06fa\u0005`\u0000\u0000\u06fa\u06fb\u0005\u00db\u0000"+
53275 "\u0000\u06fb\u06fc\u0005\u001f\u0000\u0000\u06fc\u06fd\u0003\u00c0`\u0000"+
53276 "\u06fd\u06fe\u0005 \u0000\u0000\u06fe\u00bf\u0001\u0000\u0000\u0000\u06ff"+
53277 "\u0704\u0003\u00c2a\u0000\u0700\u0701\u0005%\u0000\u0000\u0701\u0703\u0003"+
53278 "\u00c2a\u0000\u0702\u0700\u0001\u0000\u0000\u0000\u0703\u0706\u0001\u0000"+
53279 "\u0000\u0000\u0704\u0702\u0001\u0000\u0000\u0000\u0704\u0705\u0001\u0000"+
53280 "\u0000\u0000\u0705\u00c1\u0001\u0000\u0000\u0000\u0706\u0704\u0001\u0000"+
53281 "\u0000\u0000\u0707\u070a\u0005\u02af\u0000\u0000\u0708\u070a\u0003\u00c4"+
53282 "b\u0000\u0709\u0707\u0001\u0000\u0000\u0000\u0709\u0708\u0001\u0000\u0000"+
53283 "\u0000\u070a\u00c3\u0001\u0000\u0000\u0000\u070b\u070c\u0005\u02af\u0000"+
53284 "\u0000\u070c\u070d\u0005e\u0000\u0000\u070d\u070e\u0005\u02af\u0000\u0000"+
53285 "\u070e\u00c5\u0001\u0000\u0000\u0000\u070f\u0710\u0005\u018a\u0000\u0000"+
53286 "\u0710\u0711\u0005\u001f\u0000\u0000\u0711\u0712\u0005\u0193\u0000\u0000"+
53287 "\u0712\u0713\u0005\u0018\u0000\u0000\u0713\u0715\u0005\u02af\u0000\u0000"+
53288 "\u0714\u0716\u0005\u00fb\u0000\u0000\u0715\u0714\u0001\u0000\u0000\u0000"+
53289 "\u0715\u0716\u0001\u0000\u0000\u0000\u0716\u0717\u0001\u0000\u0000\u0000"+
53290 "\u0717\u0718\u0005%\u0000\u0000\u0718\u0719\u0005\u017a\u0000\u0000\u0719"+
53291 "\u071a\u0005\u0018\u0000\u0000\u071a\u071b\u0007\u0019\u0000\u0000\u071b"+
53292 "\u071c\u0005 \u0000\u0000\u071c\u00c7\u0001\u0000\u0000\u0000\u071d\u0722"+
53293 "\u0005`\u0000\u0000\u071e\u071f\u0005\u001f\u0000\u0000\u071f\u0720\u0003"+
53294 "\u00c6c\u0000\u0720\u0721\u0005 \u0000\u0000\u0721\u0723\u0001\u0000\u0000"+
53295 "\u0000\u0722\u071e\u0001\u0000\u0000\u0000\u0722\u0723\u0001\u0000\u0000"+
53296 "\u0000\u0723\u00c9\u0001\u0000\u0000\u0000\u0724\u0725\u0005\u02ac\u0000"+
53297 "\u0000\u0725\u00cb\u0001\u0000\u0000\u0000\u0726\u072b\u0003\u00cae\u0000"+
53298 "\u0727\u0728\u0005%\u0000\u0000\u0728\u072a\u0003\u00cae\u0000\u0729\u0727"+
53299 "\u0001\u0000\u0000\u0000\u072a\u072d\u0001\u0000\u0000\u0000\u072b\u0729"+
53300 "\u0001\u0000\u0000\u0000\u072b\u072c\u0001\u0000\u0000\u0000\u072c\u00cd"+
53301 "\u0001\u0000\u0000\u0000\u072d\u072b\u0001\u0000\u0000\u0000\u072e\u072f"+
53302 "\u0005\u0001\u0000\u0000\u072f\u00cf\u0001\u0000\u0000\u0000\u0730\u0731"+
53303 "\u0003*\u0015\u0000\u0731\u00d1\u0001\u0000\u0000\u0000\u0732\u0733\u0007"+
53304 "\u001a\u0000\u0000\u0733\u0738\u0005_\u0000\u0000\u0734\u0739\u0005\u01f7"+
53305 "\u0000\u0000\u0735\u0739\u0005\u0125\u0000\u0000\u0736\u0739\u0005\u01fc"+
53306 "\u0000\u0000\u0737\u0739\u0003\u001c\u000e\u0000\u0738\u0734\u0001\u0000"+
53307 "\u0000\u0000\u0738\u0735\u0001\u0000\u0000\u0000\u0738\u0736\u0001\u0000"+
53308 "\u0000\u0000\u0738\u0737\u0001\u0000\u0000\u0000\u0739\u00d3\u0001\u0000"+
53309 "\u0000\u0000\u073a\u073b\u0003*\u0015\u0000\u073b\u00d5\u0001\u0000\u0000"+
53310 "\u0000\u073c\u073d\u0003\u00d0h\u0000\u073d\u00d7\u0001\u0000\u0000\u0000"+
53311 "\u073e\u073f\u0003*\u0015\u0000\u073f\u00d9\u0001\u0000\u0000\u0000\u0740"+
53312 "\u0741\u0003\u00d0h\u0000\u0741\u00db\u0001\u0000\u0000\u0000\u0742\u0743"+
53313 "\u0007\u001b\u0000\u0000\u0743\u00dd\u0001\u0000\u0000\u0000\u0744\u0745"+
53314 "\u0005a\u0000\u0000\u0745\u0746\u0005m\u0000\u0000\u0746\u00df\u0001\u0000"+
53315 "\u0000\u0000\u0747\u0748\u0005\u009c\u0000\u0000\u0748\u00e1\u0001\u0000"+
53316 "\u0000\u0000\u0749\u074b\u0005\u0282\u0000\u0000\u074a\u074c\u0005\u0283"+
53317 "\u0000\u0000\u074b\u074a\u0001\u0000\u0000\u0000\u074b\u074c\u0001\u0000"+
53318 "\u0000\u0000\u074c\u074d\u0001\u0000\u0000\u0000\u074d\u074e\u0003\u00e4"+
53319 "r\u0000\u074e\u00e3\u0001\u0000\u0000\u0000\u074f\u0755\u0003\u02ae\u0157"+
53320 "\u0000\u0750\u0755\u0003\u0294\u014a\u0000\u0751\u0755\u0003\u029c\u014e"+
53321 "\u0000\u0752\u0755\u0003\u02a6\u0153\u0000\u0753\u0755\u0003\u028a\u0145"+
53322 "\u0000\u0754\u074f\u0001\u0000\u0000\u0000\u0754\u0750\u0001\u0000\u0000"+
53323 "\u0000\u0754\u0751\u0001\u0000\u0000\u0000\u0754\u0752\u0001\u0000\u0000"+
53324 "\u0000\u0754\u0753\u0001\u0000\u0000\u0000\u0755\u00e5\u0001\u0000\u0000"+
53325 "\u0000\u0756\u0759\u0003\u00e8t\u0000\u0757\u0759\u0003\u028a\u0145\u0000"+
53326 "\u0758\u0756\u0001\u0000\u0000\u0000\u0758\u0757\u0001\u0000\u0000\u0000"+
53327 "\u0759\u00e7\u0001\u0000\u0000\u0000\u075a\u075b\u00052\u0000\u0000\u075b"+
53328 "\u075c\u0005;\u0000\u0000\u075c\u075d\u0003@ \u0000\u075d\u075e\u0003"+
53329 "\u0126\u0093\u0000\u075e\u075f\u0003\u0128\u0094\u0000\u075f\u00e9\u0001"+
53330 "\u0000\u0000\u0000\u0760\u0761\u00052\u0000\u0000\u0761\u0762\u0003\u0196"+
53331 "\u00cb\u0000\u0762\u0763\u0005=\u0000\u0000\u0763\u0764\u0003V+\u0000"+
53332 "\u0764\u0765\u0005`\u0000\u0000\u0765\u0766\u0003@ \u0000\u0766\u0767"+
53333 "\u0003R)\u0000\u0767\u0768\u0003\u023c\u011e\u0000\u0768\u00eb\u0001\u0000"+
53334 "\u0000\u0000\u0769\u076a\u00052\u0000\u0000\u076a\u076b\u0005\u00ca\u0000"+
53335 "\u0000\u076b\u076c\u00032\u0019\u0000\u076c\u076d\u0003\u01de\u00ef\u0000"+
53336 "\u076d\u00ed\u0001\u0000\u0000\u0000\u076e\u0771\u00052\u0000\u0000\u076f"+
53337 "\u0770\u0005g\u0000\u0000\u0770\u0772\u00053\u0000\u0000\u0771\u076f\u0001"+
53338 "\u0000\u0000\u0000\u0771\u0772\u0001\u0000\u0000\u0000\u0772\u0773\u0001"+
53339 "\u0000\u0000\u0000\u0773\u0774\u0005E\u0000\u0000\u0774\u0775\u00036\u001b"+
53340 "\u0000\u0775\u0776\u0003\u020a\u0105\u0000\u0776\u0777\u0003\u020c\u0106"+
53341 "\u0000\u0777\u00ef\u0001\u0000\u0000\u0000\u0778\u077b\u00052\u0000\u0000"+
53342 "\u0779\u077a\u0005g\u0000\u0000\u077a\u077c\u00053\u0000\u0000\u077b\u0779"+
53343 "\u0001\u0000\u0000\u0000\u077b\u077c\u0001\u0000\u0000\u0000\u077c\u077d"+
53344 "\u0001\u0000\u0000\u0000\u077d\u077e\u0007\u001c\u0000\u0000\u077e\u077f"+
53345 "\u00038\u001c\u0000\u077f\u0780\u0003\u021c\u010e\u0000\u0780\u0781\u0003"+
53346 "\u0220\u0110\u0000\u0781\u00f1\u0001\u0000\u0000\u0000\u0782\u0785\u0005"+
53347 "2\u0000\u0000\u0783\u0784\u0005g\u0000\u0000\u0784\u0786\u00053\u0000"+
53348 "\u0000\u0785\u0783\u0001\u0000\u0000\u0000\u0785\u0786\u0001\u0000\u0000"+
53349 "\u0000\u0786\u0787\u0001\u0000\u0000\u0000\u0787\u0788\u0005I\u0000\u0000"+
53350 "\u0788\u0789\u0003:\u001d\u0000\u0789\u078a\u0003\u022a\u0115\u0000\u078a"+
53351 "\u00f3\u0001\u0000\u0000\u0000\u078b\u078e\u00052\u0000\u0000\u078c\u078d"+
53352 "\u0005g\u0000\u0000\u078d\u078f\u00053\u0000\u0000\u078e\u078c\u0001\u0000"+
53353 "\u0000\u0000\u078e\u078f\u0001\u0000\u0000\u0000\u078f\u0790\u0001\u0000"+
53354 "\u0000\u0000\u0790\u0791\u0005F\u0000\u0000\u0791\u0792\u0003<\u001e\u0000"+
53355 "\u0792\u0793\u0005`\u0000\u0000\u0793\u0794\u0003\u0238\u011c\u0000\u0794"+
53356 "\u0795\u0003\u0232\u0119\u0000\u0795\u00f5\u0001\u0000\u0000\u0000\u0796"+
53357 "\u0797\u00052\u0000\u0000\u0797\u0798\u0005\u0179\u0000\u0000\u0798\u079c"+
53358 "\u0003>\u001f\u0000\u0799\u079b\u0003\u023a\u011d\u0000\u079a\u0799\u0001"+
53359 "\u0000\u0000\u0000\u079b\u079e\u0001\u0000\u0000\u0000\u079c\u079a\u0001"+
53360 "\u0000\u0000\u0000\u079c\u079d\u0001\u0000\u0000\u0000\u079d\u00f7\u0001"+
53361 "\u0000\u0000\u0000\u079e\u079c\u0001\u0000\u0000\u0000\u079f\u07a0\u0005"+
53362 "2\u0000\u0000\u07a0\u07a1\u0005\u0158\u0000\u0000\u07a1\u07a4\u0003F#"+
53363 "\u0000\u07a2\u07a3\u0005\u0280\u0000\u0000\u07a3\u07a5\u0005\u02ae\u0000"+
53364 "\u0000\u07a4\u07a2\u0001\u0000\u0000\u0000\u07a4\u07a5\u0001\u0000\u0000"+
53365 "\u0000\u07a5\u07a6\u0001\u0000\u0000\u0000\u07a6\u07a7\u0005`\u0000\u0000"+
53366 "\u07a7\u07a8\u0005\u016c\u0000\u0000\u07a8\u07aa\u0003B!\u0000\u07a9\u07ab"+
53367 "\u0003\u0280\u0140\u0000\u07aa\u07a9\u0001\u0000\u0000\u0000\u07aa\u07ab"+
53368 "\u0001\u0000\u0000\u0000\u07ab\u00f9\u0001\u0000\u0000\u0000\u07ac\u07ad"+
53369 "\u00052\u0000\u0000\u07ad\u07ae\u00056\u0000\u0000\u07ae\u07b2\u0003\u0286"+
53370 "\u0143\u0000\u07af\u07b1\u0003\u0288\u0144\u0000\u07b0\u07af\u0001\u0000"+
53371 "\u0000\u0000\u07b1\u07b4\u0001\u0000\u0000\u0000\u07b2\u07b0\u0001\u0000"+
53372 "\u0000\u0000\u07b2\u07b3\u0001\u0000\u0000\u0000\u07b3\u00fb\u0001\u0000"+
53373 "\u0000\u0000\u07b4\u07b2\u0001\u0000\u0000\u0000\u07b5\u07b6\u00053\u0000"+
53374 "\u0000\u07b6\u07b7\u0005;\u0000\u0000\u07b7\u07b8\u0003@ \u0000\u07b8"+
53375 "\u07bd\u0003\u0198\u00cc\u0000\u07b9\u07ba\u0005%\u0000\u0000\u07ba\u07bc"+
53376 "\u0003\u0198\u00cc\u0000\u07bb\u07b9\u0001\u0000\u0000\u0000\u07bc\u07bf"+
53377 "\u0001\u0000\u0000\u0000\u07bd\u07bb\u0001\u0000\u0000\u0000\u07bd\u07be"+
53378 "\u0001\u0000\u0000\u0000\u07be\u00fd\u0001\u0000\u0000\u0000\u07bf\u07bd"+
53379 "\u0001\u0000\u0000\u0000\u07c0\u07c1\u00053\u0000\u0000\u07c1\u07c4\u0005"+
53380 "=\u0000\u0000\u07c2\u07c5\u0003V+\u0000\u07c3\u07c5\u0005p\u0000\u0000"+
53381 "\u07c4\u07c2\u0001\u0000\u0000\u0000\u07c4\u07c3\u0001\u0000\u0000\u0000"+
53382 "\u07c5\u07c6\u0001\u0000\u0000\u0000\u07c6\u07c7\u0005`\u0000\u0000\u07c7"+
53383 "\u07c8\u0003@ \u0000\u07c8\u07c9\u0003\u0242\u0121\u0000\u07c9\u00ff\u0001"+
53384 "\u0000\u0000\u0000\u07ca\u07cb\u00053\u0000\u0000\u07cb\u07ce\u0005\u00ca"+
53385 "\u0000\u0000\u07cc\u07cf\u00032\u0019\u0000\u07cd\u07cf\u0005\u0099\u0000"+
53386 "\u0000\u07ce\u07cc\u0001\u0000\u0000\u0000\u07ce\u07cd\u0001\u0000\u0000"+
53387 "\u0000\u07cf\u07d3\u0001\u0000\u0000\u0000\u07d0\u07d2\u0003\u024e\u0127"+
53388 "\u0000\u07d1\u07d0\u0001\u0000\u0000\u0000\u07d2\u07d5\u0001\u0000\u0000"+
53389 "\u0000\u07d3\u07d1\u0001\u0000\u0000\u0000\u07d3\u07d4\u0001\u0000\u0000"+
53390 "\u0000\u07d4\u0101\u0001\u0000\u0000\u0000\u07d5\u07d3\u0001\u0000\u0000"+
53391 "\u0000\u07d6\u07d7\u00053\u0000\u0000\u07d7\u07d8\u0007\u001c\u0000\u0000"+
53392 "\u07d8\u07d9\u00038\u001c\u0000\u07d9\u07da\u0003\u021c\u010e\u0000\u07da"+
53393 "\u07db\u0003\u0220\u0110\u0000\u07db\u0103\u0001\u0000\u0000\u0000\u07dc"+
53394 "\u07dd\u00053\u0000\u0000\u07dd\u07de\u0005E\u0000\u0000\u07de\u07df\u0003"+
53395 "6\u001b\u0000\u07df\u07e0\u0003\u020a\u0105\u0000\u07e0\u07e1\u0003\u020c"+
53396 "\u0106\u0000\u07e1\u0105\u0001\u0000\u0000\u0000\u07e2\u07e3\u00053\u0000"+
53397 "\u0000\u07e3\u07e4\u0005I\u0000\u0000\u07e4\u07e5\u0003:\u001d\u0000\u07e5"+
53398 "\u07e6\u0003\u022a\u0115\u0000\u07e6\u0107\u0001\u0000\u0000\u0000\u07e7"+
53399 "\u07e8\u00053\u0000\u0000\u07e8\u07e9\u0005F\u0000\u0000\u07e9\u07ea\u0003"+
53400 "<\u001e\u0000\u07ea\u07eb\u0005`\u0000\u0000\u07eb\u07ec\u0003\u0238\u011c"+
53401 "\u0000\u07ec\u07ed\u0003\u0232\u0119\u0000\u07ed\u0109\u0001\u0000\u0000"+
53402 "\u0000\u07ee\u07ef\u00053\u0000\u0000\u07ef\u07f0\u0005\u0179\u0000\u0000"+
53403 "\u07f0\u07f4\u0003>\u001f\u0000\u07f1\u07f3\u0003\u023a\u011d\u0000\u07f2"+
53404 "\u07f1\u0001\u0000\u0000\u0000\u07f3\u07f6\u0001\u0000\u0000\u0000\u07f4"+
53405 "\u07f2\u0001\u0000\u0000\u0000\u07f4\u07f5\u0001\u0000\u0000\u0000\u07f5"+
53406 "\u010b\u0001\u0000\u0000\u0000\u07f6\u07f4\u0001\u0000\u0000\u0000\u07f7"+
53407 "\u07f8\u00053\u0000\u0000\u07f8\u07f9\u0005\u0158\u0000\u0000\u07f9\u07fd"+
53408 "\u0003F#\u0000\u07fa\u07fb\u0005`\u0000\u0000\u07fb\u07fc\u0005\u016c"+
53409 "\u0000\u0000\u07fc\u07fe\u0003B!\u0000\u07fd\u07fa\u0001\u0000\u0000\u0000"+
53410 "\u07fd\u07fe\u0001\u0000\u0000\u0000\u07fe\u0800\u0001\u0000\u0000\u0000"+
53411 "\u07ff\u0801\u0003\u0282\u0141\u0000\u0800\u07ff\u0001\u0000\u0000\u0000"+
53412 "\u0800\u0801\u0001\u0000\u0000\u0000\u0801\u010d\u0001\u0000\u0000\u0000"+
53413 "\u0802\u0803\u00053\u0000\u0000\u0803\u0804\u00056\u0000\u0000\u0804\u0805"+
53414 "\u00034\u001a\u0000\u0805\u0807\u0005\u0281\u0000\u0000\u0806\u0808\u0003"+
53415 "\u035a\u01ad\u0000\u0807\u0806\u0001\u0000\u0000\u0000\u0807\u0808\u0001"+
53416 "\u0000\u0000\u0000\u0808\u0809\u0001\u0000\u0000\u0000\u0809\u080a\u0003"+
53417 "\u00cae\u0000\u080a\u010f\u0001\u0000\u0000\u0000\u080b\u080c\u00054\u0000"+
53418 "\u0000\u080c\u080e\u0005;\u0000\u0000\u080d\u080f\u0003\u00deo\u0000\u080e"+
53419 "\u080d\u0001\u0000\u0000\u0000\u080e\u080f\u0001\u0000\u0000\u0000\u080f"+
53420 "\u0810\u0001\u0000\u0000\u0000\u0810\u0811\u0003T*\u0000\u0811\u0111\u0001"+
53421 "\u0000\u0000\u0000\u0812\u0813\u00054\u0000\u0000\u0813\u0815\u0005=\u0000"+
53422 "\u0000\u0814\u0816\u0003\u00deo\u0000\u0815\u0814\u0001\u0000\u0000\u0000"+
53423 "\u0815\u0816\u0001\u0000\u0000\u0000\u0816\u0817\u0001\u0000\u0000\u0000"+
53424 "\u0817\u0818\u0003V+\u0000\u0818\u0819\u0005`\u0000\u0000\u0819\u081a"+
53425 "\u0003@ \u0000\u081a\u0113\u0001\u0000\u0000\u0000\u081b\u081c\u00054"+
53426 "\u0000\u0000\u081c\u081e\u0005\u00ca\u0000\u0000\u081d\u081f\u0003\u00de"+
53427 "o\u0000\u081e\u081d\u0001\u0000\u0000\u0000\u081e\u081f\u0001\u0000\u0000"+
53428 "\u0000\u081f\u0820\u0001\u0000\u0000\u0000\u0820\u0825\u00032\u0019\u0000"+
53429 "\u0821\u0822\u0005%\u0000\u0000\u0822\u0824\u00032\u0019\u0000\u0823\u0821"+
53430 "\u0001\u0000\u0000\u0000\u0824\u0827\u0001\u0000\u0000\u0000\u0825\u0823"+
53431 "\u0001\u0000\u0000\u0000\u0825\u0826\u0001\u0000\u0000\u0000\u0826\u0115"+
53432 "\u0001\u0000\u0000\u0000\u0827\u0825\u0001\u0000\u0000\u0000\u0828\u0829"+
53433 "\u00054\u0000\u0000\u0829\u082b\u0005E\u0000\u0000\u082a\u082c\u0003\u00de"+
53434 "o\u0000\u082b\u082a\u0001\u0000\u0000\u0000\u082b\u082c\u0001\u0000\u0000"+
53435 "\u0000\u082c\u082d\u0001\u0000\u0000\u0000\u082d\u0832\u00036\u001b\u0000"+
53436 "\u082e\u082f\u0005%\u0000\u0000\u082f\u0831\u00036\u001b\u0000\u0830\u082e"+
53437 "\u0001\u0000\u0000\u0000\u0831\u0834\u0001\u0000\u0000\u0000\u0832\u0830"+
53438 "\u0001\u0000\u0000\u0000\u0832\u0833\u0001\u0000\u0000\u0000\u0833\u0117"+
53439 "\u0001\u0000\u0000\u0000\u0834\u0832\u0001\u0000\u0000\u0000\u0835\u0836"+
53440 "\u00054\u0000\u0000\u0836\u0838\u0007\u001c\u0000\u0000\u0837\u0839\u0003"+
53441 "\u00deo\u0000\u0838\u0837\u0001\u0000\u0000\u0000\u0838\u0839\u0001\u0000"+
53442 "\u0000\u0000\u0839\u083a\u0001\u0000\u0000\u0000\u083a\u083f\u00038\u001c"+
53443 "\u0000\u083b\u083c\u0005%\u0000\u0000\u083c\u083e\u00038\u001c\u0000\u083d"+
53444 "\u083b\u0001\u0000\u0000\u0000\u083e\u0841\u0001\u0000\u0000\u0000\u083f"+
53445 "\u083d\u0001\u0000\u0000\u0000\u083f\u0840\u0001\u0000\u0000\u0000\u0840"+
53446 "\u0119\u0001\u0000\u0000\u0000\u0841\u083f\u0001\u0000\u0000\u0000\u0842"+
53447 "\u0843\u00054\u0000\u0000\u0843\u0845\u0005I\u0000\u0000\u0844\u0846\u0003"+
53448 "\u00deo\u0000\u0845\u0844\u0001\u0000\u0000\u0000\u0845\u0846\u0001\u0000"+
53449 "\u0000\u0000\u0846\u0847\u0001\u0000\u0000\u0000\u0847\u084c\u0003:\u001d"+
53450 "\u0000\u0848\u0849\u0005%\u0000\u0000\u0849\u084b\u0003:\u001d\u0000\u084a"+
53451 "\u0848\u0001\u0000\u0000\u0000\u084b\u084e\u0001\u0000\u0000\u0000\u084c"+
53452 "\u084a\u0001\u0000\u0000\u0000\u084c\u084d\u0001\u0000\u0000\u0000\u084d"+
53453 "\u011b\u0001\u0000\u0000\u0000\u084e\u084c\u0001\u0000\u0000\u0000\u084f"+
53454 "\u0850\u00054\u0000\u0000\u0850\u0852\u0005F\u0000\u0000\u0851\u0853\u0003"+
53455 "\u00deo\u0000\u0852\u0851\u0001\u0000\u0000\u0000\u0852\u0853\u0001\u0000"+
53456 "\u0000\u0000\u0853\u0854\u0001\u0000\u0000\u0000\u0854\u0859\u0003<\u001e"+
53457 "\u0000\u0855\u0856\u0005%\u0000\u0000\u0856\u0858\u0003<\u001e\u0000\u0857"+
53458 "\u0855\u0001\u0000\u0000\u0000\u0858\u085b\u0001\u0000\u0000\u0000\u0859"+
53459 "\u0857\u0001\u0000\u0000\u0000\u0859\u085a\u0001\u0000\u0000\u0000\u085a"+
53460 "\u0862\u0001\u0000\u0000\u0000\u085b\u0859\u0001\u0000\u0000\u0000\u085c"+
53461 "\u0860\u0005`\u0000\u0000\u085d\u0861\u0005\u00ca\u0000\u0000\u085e\u085f"+
53462 "\u0005p\u0000\u0000\u085f\u0861\u0005\u013a\u0000\u0000\u0860\u085d\u0001"+
53463 "\u0000\u0000\u0000\u0860\u085e\u0001\u0000\u0000\u0000\u0861\u0863\u0001"+
53464 "\u0000\u0000\u0000\u0862\u085c\u0001\u0000\u0000\u0000\u0862\u0863\u0001"+
53465 "\u0000\u0000\u0000\u0863\u011d\u0001\u0000\u0000\u0000\u0864\u0865\u0005"+
53466 "4\u0000\u0000\u0865\u0867\u0005\u0179\u0000\u0000\u0866\u0868\u0003\u00de"+
53467 "o\u0000\u0867\u0866\u0001\u0000\u0000\u0000\u0867\u0868\u0001\u0000\u0000"+
53468 "\u0000\u0868\u0869\u0001\u0000\u0000\u0000\u0869\u086e\u0003>\u001f\u0000"+
53469 "\u086a\u086b\u0005%\u0000\u0000\u086b\u086d\u0003>\u001f\u0000\u086c\u086a"+
53470 "\u0001\u0000\u0000\u0000\u086d\u0870\u0001\u0000\u0000\u0000\u086e\u086c"+
53471 "\u0001\u0000\u0000\u0000\u086e\u086f\u0001\u0000\u0000\u0000\u086f\u011f"+
53472 "\u0001\u0000\u0000\u0000\u0870\u086e\u0001\u0000\u0000\u0000\u0871\u0872"+
53473 "\u00054\u0000\u0000\u0872\u0873\u0005\u0158\u0000\u0000\u0873\u0874\u0003"+
53474 "F#\u0000\u0874\u0121\u0001\u0000\u0000\u0000\u0875\u0876\u00054\u0000"+
53475 "\u0000\u0876\u0878\u00056\u0000\u0000\u0877\u0879\u0003\u00deo\u0000\u0878"+
53476 "\u0877\u0001\u0000\u0000\u0000\u0878\u0879\u0001\u0000\u0000\u0000\u0879"+
53477 "\u087a\u0001\u0000\u0000\u0000\u087a\u087b\u00034\u001a\u0000\u087b\u0123"+
53478 "\u0001\u0000\u0000\u0000\u087c\u087d\u00055\u0000\u0000\u087d\u087e\u0005"+
53479 ";\u0000\u0000\u087e\u087f\u0003@ \u0000\u087f\u0125\u0001\u0000\u0000"+
53480 "\u0000\u0880\u0881\u0005_\u0000\u0000\u0881\u0883\u0005\u0104\u0000\u0000"+
53481 "\u0882\u0880\u0001\u0000\u0000\u0000\u0882\u0883\u0001\u0000\u0000\u0000"+
53482 "\u0883\u0127\u0001\u0000\u0000\u0000\u0884\u0885\u0003\u012a\u0095\u0000"+
53483 "\u0885\u0886\u0003\u017e\u00bf\u0000\u0886\u0887\u0003\u0180\u00c0\u0000"+
53484 "\u0887\u0129\u0001\u0000\u0000\u0000\u0888\u0889\u0005\u001f\u0000\u0000"+
53485 "\u0889\u088e\u0003\u012c\u0096\u0000\u088a\u088b\u0005%\u0000\u0000\u088b"+
53486 "\u088d\u0003\u012c\u0096\u0000\u088c\u088a\u0001\u0000\u0000\u0000\u088d"+
53487 "\u0890\u0001\u0000\u0000\u0000\u088e\u088c\u0001\u0000\u0000\u0000\u088e"+
53488 "\u088f\u0001\u0000\u0000\u0000\u088f\u0893\u0001\u0000\u0000\u0000\u0890"+
53489 "\u088e\u0001\u0000\u0000\u0000\u0891\u0892\u0005%\u0000\u0000\u0892\u0894"+
53490 "\u0003\u017c\u00be\u0000\u0893\u0891\u0001\u0000\u0000\u0000\u0893\u0894"+
53491 "\u0001\u0000\u0000\u0000\u0894\u0895\u0001\u0000\u0000\u0000\u0895\u0896"+
53492 "\u0005 \u0000\u0000\u0896\u012b\u0001\u0000\u0000\u0000\u0897\u089d\u0003"+
53493 "\u012e\u0097\u0000\u0898\u089d\u0003\u0164\u00b2\u0000\u0899\u089d\u0003"+
53494 "\u0166\u00b3\u0000\u089a\u089d\u0003\u0168\u00b4\u0000\u089b\u089d\u0003"+
53495 "\u0176\u00bb\u0000\u089c\u0897\u0001\u0000\u0000\u0000\u089c\u0898\u0001"+
53496 "\u0000\u0000\u0000\u089c\u0899\u0001\u0000\u0000\u0000\u089c\u089a\u0001"+
53497 "\u0000\u0000\u0000\u089c\u089b\u0001\u0000\u0000\u0000\u089d\u012d\u0001"+
53498 "\u0000\u0000\u0000\u089e\u089f\u0003H$\u0000\u089f\u08a3\u0003\u0094J"+
53499 "\u0000\u08a0\u08a2\u0003\u0130\u0098\u0000\u08a1\u08a0\u0001\u0000\u0000"+
53500 "\u0000\u08a2\u08a5\u0001\u0000\u0000\u0000\u08a3\u08a1\u0001\u0000\u0000"+
53501 "\u0000\u08a3\u08a4\u0001\u0000\u0000\u0000\u08a4\u08a6\u0001\u0000\u0000"+
53502 "\u0000\u08a5\u08a3\u0001\u0000\u0000\u0000\u08a6\u08a8\u0003\u0162\u00b1"+
53503 "\u0000\u08a7\u08a9\u0003\u0158\u00ac\u0000\u08a8\u08a7\u0001\u0000\u0000"+
53504 "\u0000\u08a8\u08a9\u0001\u0000\u0000\u0000\u08a9\u012f\u0001\u0000\u0000"+
53505 "\u0000\u08aa\u08e0\u0005\u0103\u0000\u0000\u08ab\u08ac\u0005\u00f3\u0000"+
53506 "\u0000\u08ac\u08e0\u0003Z-\u0000\u08ad\u08e0\u0005\u0126\u0000\u0000\u08ae"+
53507 "\u08af\u0005\u010f\u0000\u0000\u08af\u08b0\u0005L\u0000\u0000\u08b0\u08b1"+
53508 "\u0005\u001f\u0000\u0000\u08b1\u08b2\u0005E\u0000\u0000\u08b2\u08b3\u0005"+
53509 "\u0018\u0000\u0000\u08b3\u08b4\u0005\u02ae\u0000\u0000\u08b4\u08e0\u0005"+
53510 " \u0000\u0000\u08b5\u08b6\u0005>\u0000\u0000\u08b6\u08b8\u0003\u00cae"+
53511 "\u0000\u08b7\u08b5\u0001\u0000\u0000\u0000\u08b7\u08b8\u0001\u0000\u0000"+
53512 "\u0000\u08b8\u08b9\u0001\u0000\u0000\u0000\u08b9\u08ba\u0005\u0098\u0000"+
53513 "\u0000\u08ba\u08e0\u0003b1\u0000\u08bb\u08c1\u0005\u0109\u0000\u0000\u08bc"+
53514 "\u08bd\u0005\u001f\u0000\u0000\u08bd\u08be\u0005\u02af\u0000\u0000\u08be"+
53515 "\u08bf\u0005%\u0000\u0000\u08bf\u08c0\u0005\u02af\u0000\u0000\u08c0\u08c2"+
53516 "\u0005 \u0000\u0000\u08c1\u08bc\u0001\u0000\u0000\u0000\u08c1\u08c2\u0001"+
53517 "\u0000\u0000\u0000\u08c2\u08e0\u0001\u0000\u0000\u0000\u08c3\u08c4\u0005"+
53518 "i\u0000\u0000\u08c4\u08c5\u0005d\u0000\u0000\u08c5\u08e0\u0005\u0121\u0000"+
53519 "\u0000\u08c6\u08c7\u0005\u00e4\u0000\u0000\u08c7\u08c8\u0005\u00e1\u0000"+
53520 "\u0000\u08c8\u08c9\u0005_\u0000\u0000\u08c9\u08ca\u0005\u00dd\u0000\u0000"+
53521 "\u08ca\u08cc\u0007\u001d\u0000\u0000\u08cb\u08cd\u0005\u00d8\u0000\u0000"+
53522 "\u08cc\u08cb\u0001\u0000\u0000\u0000\u08cc\u08cd\u0001\u0000\u0000\u0000"+
53523 "\u08cd\u08e0\u0001\u0000\u0000\u0000\u08ce\u08d0\u0005i\u0000\u0000\u08cf"+
53524 "\u08ce\u0001\u0000\u0000\u0000\u08cf\u08d0\u0001\u0000\u0000\u0000\u08d0"+
53525 "\u08d1\u0001\u0000\u0000\u0000\u08d1\u08e0\u0005j\u0000\u0000\u08d2\u08e0"+
53526 "\u0005\u0123\u0000\u0000\u08d3\u08d4\u0005\u0101\u0000\u0000\u08d4\u08d5"+
53527 "\u0005L\u0000\u0000\u08d5\u08e0\u0003\u0132\u0099\u0000\u08d6\u08db\u0003"+
53528 "\u0134\u009a\u0000\u08d7\u08d8\u0005%\u0000\u0000\u08d8\u08da\u0003\u0134"+
53529 "\u009a\u0000\u08d9\u08d7\u0001\u0000\u0000\u0000\u08da\u08dd\u0001\u0000"+
53530 "\u0000\u0000\u08db\u08d9\u0001\u0000\u0000\u0000\u08db\u08dc\u0001\u0000"+
53531 "\u0000\u0000\u08dc\u08e0\u0001\u0000\u0000\u0000\u08dd\u08db\u0001\u0000"+
53532 "\u0000\u0000\u08de\u08e0\u0003\u0158\u00ac\u0000\u08df\u08aa\u0001\u0000"+
53533 "\u0000\u0000\u08df\u08ab\u0001\u0000\u0000\u0000\u08df\u08ad\u0001\u0000"+
53534 "\u0000\u0000\u08df\u08ae\u0001\u0000\u0000\u0000\u08df\u08b7\u0001\u0000"+
53535 "\u0000\u0000\u08df\u08bb\u0001\u0000\u0000\u0000\u08df\u08c3\u0001\u0000"+
53536 "\u0000\u0000\u08df\u08c6\u0001\u0000\u0000\u0000\u08df\u08cf\u0001\u0000"+
53537 "\u0000\u0000\u08df\u08d2\u0001\u0000\u0000\u0000\u08df\u08d3\u0001\u0000"+
53538 "\u0000\u0000\u08df\u08d6\u0001\u0000\u0000\u0000\u08df\u08de\u0001\u0000"+
53539 "\u0000\u0000\u08e0\u0131\u0001\u0000\u0000\u0000\u08e1\u08e2\u0005\u001f"+
53540 "\u0000\u0000\u08e2\u08e3\u0005\u0180\u0000\u0000\u08e3\u08e4\u0005\u0018"+
53541 "\u0000\u0000\u08e4\u08e5\u0003\u00cae\u0000\u08e5\u08e6\u0005%\u0000\u0000"+
53542 "\u08e6\u08e7\u0005\u0186\u0000\u0000\u08e7\u08e8\u0005\u0018\u0000\u0000"+
53543 "\u08e8\u08e9\u0007\u001e\u0000\u0000\u08e9\u08ea\u0005%\u0000\u0000\u08ea"+
53544 "\u08eb\u0005\u00ee\u0000\u0000\u08eb\u08ec\u0005\u0018\u0000\u0000\u08ec"+
53545 "\u08ed\u0005\u02ae\u0000\u0000\u08ed\u08ee\u0005 \u0000\u0000\u08ee\u0133"+
53546 "\u0001\u0000\u0000\u0000\u08ef\u08f0\u0005>\u0000\u0000\u08f0\u08f2\u0003"+
53547 "X,\u0000\u08f1\u08ef\u0001\u0000\u0000\u0000\u08f1\u08f2\u0001\u0000\u0000"+
53548 "\u0000\u08f2\u08f6\u0001\u0000\u0000\u0000\u08f3\u08f7\u0003\u013c\u009e"+
53549 "\u0000\u08f4\u08f7\u0003\u0150\u00a8\u0000\u08f5\u08f7\u0003\u0156\u00ab"+
53550 "\u0000\u08f6\u08f3\u0001\u0000\u0000\u0000\u08f6\u08f4\u0001\u0000\u0000"+
53551 "\u0000\u08f6\u08f5\u0001\u0000\u0000\u0000\u08f7\u0135\u0001\u0000\u0000"+
53552 "\u0000\u08f8\u08f9\u0005>\u0000\u0000\u08f9\u08fb\u0003X,\u0000\u08fa"+
53553 "\u08f8\u0001\u0000\u0000\u0000\u08fa\u08fb\u0001\u0000\u0000\u0000\u08fb"+
53554 "\u08ff\u0001\u0000\u0000\u0000\u08fc\u0900\u0003\u013c\u009e\u0000\u08fd"+
53555 "\u0900\u0003\u0138\u009c\u0000\u08fe\u0900\u0003\u0156\u00ab\u0000\u08ff"+
53556 "\u08fc\u0001\u0000\u0000\u0000\u08ff\u08fd\u0001\u0000\u0000\u0000\u08ff"+
53557 "\u08fe\u0001\u0000\u0000\u0000\u0900\u0137\u0001\u0000\u0000\u0000\u0901"+
53558 "\u0902\u0005A\u0000\u0000\u0902\u0904\u0005B\u0000\u0000\u0903\u0901\u0001"+
53559 "\u0000\u0000\u0000\u0903\u0904\u0001\u0000\u0000\u0000\u0904\u0905\u0001"+
53560 "\u0000\u0000\u0000\u0905\u090a\u0003@ \u0000\u0906\u0907\u0005\u001f\u0000"+
53561 "\u0000\u0907\u0908\u0003H$\u0000\u0908\u0909\u0005 \u0000\u0000\u0909"+
53562 "\u090b\u0001\u0000\u0000\u0000\u090a\u0906\u0001\u0000\u0000\u0000\u090a"+
53563 "\u090b\u0001\u0000\u0000\u0000\u090b\u090f\u0001\u0000\u0000\u0000\u090c"+
53564 "\u090e\u0003\u013a\u009d\u0000\u090d\u090c\u0001\u0000\u0000\u0000\u090e"+
53565 "\u0911\u0001\u0000\u0000\u0000\u090f\u090d\u0001\u0000\u0000\u0000\u090f"+
53566 "\u0910\u0001\u0000\u0000\u0000\u0910\u0139\u0001\u0000\u0000\u0000\u0911"+
53567 "\u090f\u0001\u0000\u0000\u0000\u0912\u0913\u0005`\u0000\u0000\u0913\u0917"+
53568 "\u00051\u0000\u0000\u0914\u0915\u0005\u00e5\u0000\u0000\u0915\u0918\u0005"+
53569 "\u00ed\u0000\u0000\u0916\u0918\u0005\u00e2\u0000\u0000\u0917\u0914\u0001"+
53570 "\u0000\u0000\u0000\u0917\u0916\u0001\u0000\u0000\u0000\u0918\u0921\u0001"+
53571 "\u0000\u0000\u0000\u0919\u091a\u0005`\u0000\u0000\u091a\u091b\u00050\u0000"+
53572 "\u0000\u091b\u091c\u0005\u00e5\u0000\u0000\u091c\u0921\u0005\u00ed\u0000"+
53573 "\u0000\u091d\u091e\u0005i\u0000\u0000\u091e\u091f\u0005d\u0000\u0000\u091f"+
53574 "\u0921\u0005\u0121\u0000\u0000\u0920\u0912\u0001\u0000\u0000\u0000\u0920"+
53575 "\u0919\u0001\u0000\u0000\u0000\u0920\u091d\u0001\u0000\u0000\u0000\u0921"+
53576 "\u013b\u0001\u0000\u0000\u0000\u0922\u0925\u0003`0\u0000\u0923\u0925\u0005"+
53577 "@\u0000\u0000\u0924\u0922\u0001\u0000\u0000\u0000\u0924\u0923\u0001\u0000"+
53578 "\u0000\u0000\u0925\u0928\u0001\u0000\u0000\u0000\u0926\u0929\u0003\u013e"+
53579 "\u009f\u0000\u0927\u0929\u0003\u014c\u00a6\u0000\u0928\u0926\u0001\u0000"+
53580 "\u0000\u0000\u0928\u0927\u0001\u0000\u0000\u0000\u0929\u013d\u0001\u0000"+
53581 "\u0000\u0000\u092a\u092c\u0003\u0140\u00a0\u0000\u092b\u092a\u0001\u0000"+
53582 "\u0000\u0000\u092b\u092c\u0001\u0000\u0000\u0000\u092c\u092e\u0001\u0000"+
53583 "\u0000\u0000\u092d\u092f\u0003\u0142\u00a1\u0000\u092e\u092d\u0001\u0000"+
53584 "\u0000\u0000\u092e\u092f\u0001\u0000\u0000\u0000\u092f\u0931\u0001\u0000"+
53585 "\u0000\u0000\u0930\u0932\u0003\u0144\u00a2\u0000\u0931\u0930\u0001\u0000"+
53586 "\u0000\u0000\u0931\u0932\u0001\u0000\u0000\u0000\u0932\u013f\u0001\u0000"+
53587 "\u0000\u0000\u0933\u0934\u0007\u001f\u0000\u0000\u0934\u0141\u0001\u0000"+
53588 "\u0000\u0000\u0935\u0944\u0005L\u0000\u0000\u0936\u0937\u0005\u0105\u0000"+
53589 "\u0000\u0937\u0938\u0005\u0018\u0000\u0000\u0938\u0945\u0005\u02af\u0000"+
53590 "\u0000\u0939\u093a\u0005\u001f\u0000\u0000\u093a\u093f\u0003\u00b2Y\u0000"+
53591 "\u093b\u093c\u0005%\u0000\u0000\u093c\u093e\u0003\u00b2Y\u0000\u093d\u093b"+
53592 "\u0001\u0000\u0000\u0000\u093e\u0941\u0001\u0000\u0000\u0000\u093f\u093d"+
53593 "\u0001\u0000\u0000\u0000\u093f\u0940\u0001\u0000\u0000\u0000\u0940\u0942"+
53594 "\u0001\u0000\u0000\u0000\u0941\u093f\u0001\u0000\u0000\u0000\u0942\u0943"+
53595 "\u0005 \u0000\u0000\u0943\u0945\u0001\u0000\u0000\u0000\u0944\u0936\u0001"+
53596 "\u0000\u0000\u0000\u0944\u0939\u0001\u0000\u0000\u0000\u0945\u0143\u0001"+
53597 "\u0000\u0000\u0000\u0946\u094a\u0003\u0146\u00a3\u0000\u0947\u094a\u0003"+
53598 "\u0148\u00a4\u0000\u0948\u094a\u0003\u014a\u00a5\u0000\u0949\u0946\u0001"+
53599 "\u0000\u0000\u0000\u0949\u0947\u0001\u0000\u0000\u0000\u0949\u0948\u0001"+
53600 "\u0000\u0000\u0000\u094a\u0145\u0001\u0000\u0000\u0000\u094b\u094c\u0005"+
53601 "`\u0000\u0000\u094c\u094d\u00034\u001a\u0000\u094d\u094e\u0005\u001f\u0000"+
53602 "\u0000\u094e\u094f\u0003H$\u0000\u094f\u0950\u0005 \u0000\u0000\u0950"+
53603 "\u0147\u0001\u0000\u0000\u0000\u0951\u0952\u0005`\u0000\u0000\u0952\u0953"+
53604 "\u0003\u00cae\u0000\u0953\u0149\u0001\u0000\u0000\u0000\u0954\u0955\u0005"+
53605 "`\u0000\u0000\u0955\u0956\u0005\u02ae\u0000\u0000\u0956\u014b\u0001\u0000"+
53606 "\u0000\u0000\u0957\u095e\u0005\u00f2\u0000\u0000\u0958\u0959\u0005\u00f2"+
53607 "\u0000\u0000\u0959\u095b\u0005\u0107\u0000\u0000\u095a\u095c\u0003\u014e"+
53608 "\u00a7\u0000\u095b\u095a\u0001\u0000\u0000\u0000\u095b\u095c\u0001\u0000"+
53609 "\u0000\u0000\u095c\u095e\u0001\u0000\u0000\u0000\u095d\u0957\u0001\u0000"+
53610 "\u0000\u0000\u095d\u0958\u0001\u0000\u0000\u0000\u095e\u014d\u0001\u0000"+
53611 "\u0000\u0000\u095f\u0960\u0005L\u0000\u0000\u0960\u0961\u0005\u001f\u0000"+
53612 "\u0000\u0961\u0962\u0005\u017e\u0000\u0000\u0962\u0963\u0005\u0018\u0000"+
53613 "\u0000\u0963\u0964\u0005\u02af\u0000\u0000\u0964\u0965\u0005 \u0000\u0000"+
53614 "\u0965\u014f\u0001\u0000\u0000\u0000\u0966\u0967\u0005A\u0000\u0000\u0967"+
53615 "\u0969\u0005B\u0000\u0000\u0968\u0966\u0001\u0000\u0000\u0000\u0968\u0969"+
53616 "\u0001\u0000\u0000\u0000\u0969\u096a\u0001\u0000\u0000\u0000\u096a\u096b"+
53617 "\u0005\u00e8\u0000\u0000\u096b\u0970\u0003@ \u0000\u096c\u096d\u0005\u001f"+
53618 "\u0000\u0000\u096d\u096e\u0003H$\u0000\u096e\u096f\u0005 \u0000\u0000"+
53619 "\u096f\u0971\u0001\u0000\u0000\u0000\u0970\u096c\u0001\u0000\u0000\u0000"+
53620 "\u0970\u0971\u0001\u0000\u0000\u0000\u0971\u0975\u0001\u0000\u0000\u0000"+
53621 "\u0972\u0974\u0003\u0152\u00a9\u0000\u0973\u0972\u0001\u0000\u0000\u0000"+
53622 "\u0974\u0977\u0001\u0000\u0000\u0000\u0975\u0973\u0001\u0000\u0000\u0000"+
53623 "\u0975\u0976\u0001\u0000\u0000\u0000\u0976\u0151\u0001\u0000\u0000\u0000"+
53624 "\u0977\u0975\u0001\u0000\u0000\u0000\u0978\u0979\u0005`\u0000\u0000\u0979"+
53625 "\u097a\u0007 \u0000\u0000\u097a\u097f\u0003\u0154\u00aa\u0000\u097b\u097c"+
53626 "\u0005i\u0000\u0000\u097c\u097d\u0005d\u0000\u0000\u097d\u097f\u0005\u0121"+
53627 "\u0000\u0000\u097e\u0978\u0001\u0000\u0000\u0000\u097e\u097b\u0001\u0000"+
53628 "\u0000\u0000\u097f\u0153\u0001\u0000\u0000\u0000\u0980\u0981\u0005\u00e5"+
53629 "\u0000\u0000\u0981\u0986\u0005\u00ed\u0000\u0000\u0982\u0986\u0005\u00e2"+
53630 "\u0000\u0000\u0983\u0984\u0005:\u0000\u0000\u0984\u0986\u0007!\u0000\u0000"+
53631 "\u0985\u0980\u0001\u0000\u0000\u0000\u0985\u0982\u0001\u0000\u0000\u0000"+
53632 "\u0985\u0983\u0001\u0000\u0000\u0000\u0986\u0155\u0001\u0000\u0000\u0000"+
53633 "\u0987\u098b\u0005\u00e3\u0000\u0000\u0988\u0989\u0005i\u0000\u0000\u0989"+
53634 "\u098a\u0005d\u0000\u0000\u098a\u098c\u0005\u0121\u0000\u0000\u098b\u0988"+
53635 "\u0001\u0000\u0000\u0000\u098b\u098c\u0001\u0000\u0000\u0000\u098c\u098d"+
53636 "\u0001\u0000\u0000\u0000\u098d\u098e\u0005\u001f\u0000\u0000\u098e\u098f"+
53637 "\u0003b1\u0000\u098f\u0990\u0005 \u0000\u0000\u0990\u0157\u0001\u0000"+
53638 "\u0000\u0000\u0991\u0992\u0005=\u0000\u0000\u0992\u0994\u0003V+\u0000"+
53639 "\u0993\u0995\u0003\u0140\u00a0\u0000\u0994\u0993\u0001\u0000\u0000\u0000"+
53640 "\u0994\u0995\u0001\u0000\u0000\u0000\u0995\u0997\u0001\u0000\u0000\u0000"+
53641 "\u0996\u0998\u0003\u015a\u00ad\u0000\u0997\u0996\u0001\u0000\u0000\u0000"+
53642 "\u0997\u0998\u0001\u0000\u0000\u0000\u0998\u099a\u0001\u0000\u0000\u0000"+
53643 "\u0999\u099b\u0003\u015c\u00ae\u0000\u099a\u0999\u0001\u0000\u0000\u0000"+
53644 "\u099a\u099b\u0001\u0000\u0000\u0000\u099b\u099d\u0001\u0000\u0000\u0000"+
53645 "\u099c\u099e\u0003\u0160\u00b0\u0000\u099d\u099c\u0001\u0000\u0000\u0000"+
53646 "\u099d\u099e\u0001\u0000\u0000\u0000\u099e\u0159\u0001\u0000\u0000\u0000"+
53647 "\u099f\u09a0\u0005L\u0000\u0000\u09a0\u09a1\u0005\u001f\u0000\u0000\u09a1"+
53648 "\u09a6\u0003\u00b2Y\u0000\u09a2\u09a3\u0005%\u0000\u0000\u09a3\u09a5\u0003"+
53649 "\u00b2Y\u0000\u09a4\u09a2\u0001\u0000\u0000\u0000\u09a5\u09a8\u0001\u0000"+
53650 "\u0000\u0000\u09a6\u09a4\u0001\u0000\u0000\u0000\u09a6\u09a7\u0001\u0000"+
53651 "\u0000\u0000\u09a7\u09a9\u0001\u0000\u0000\u0000\u09a8\u09a6\u0001\u0000"+
53652 "\u0000\u0000\u09a9\u09aa\u0005 \u0000\u0000\u09aa\u015b\u0001\u0000\u0000"+
53653 "\u0000\u09ab\u09af\u0003\u0146\u00a3\u0000\u09ac\u09af\u0003\u0148\u00a4"+
53654 "\u0000\u09ad\u09af\u0003\u015e\u00af\u0000\u09ae\u09ab\u0001\u0000\u0000"+
53655 "\u0000\u09ae\u09ac\u0001\u0000\u0000\u0000\u09ae\u09ad\u0001\u0000\u0000"+
53656 "\u0000\u09af\u015d\u0001\u0000\u0000\u0000\u09b0\u09b1\u0005`\u0000\u0000"+
53657 "\u09b1\u09b2\u0005\u0098\u0000\u0000\u09b2\u015f\u0001\u0000\u0000\u0000"+
53658 "\u09b3\u09b7\u0005\u0198\u0000\u0000\u09b4\u09b8\u0003\u00cae\u0000\u09b5"+
53659 "\u09b8\u00034\u001a\u0000\u09b6\u09b8\u0005\u02ae\u0000\u0000\u09b7\u09b4"+
53660 "\u0001\u0000\u0000\u0000\u09b7\u09b5\u0001\u0000\u0000\u0000\u09b7\u09b6"+
53661 "\u0001\u0000\u0000\u0000\u09b8\u0161\u0001\u0000\u0000\u0000\u09b9\u09be"+
53662 "\u0003\u0134\u009a\u0000\u09ba\u09bb\u0005%\u0000\u0000\u09bb\u09bd\u0003"+
53663 "\u0134\u009a\u0000\u09bc\u09ba\u0001\u0000\u0000\u0000\u09bd\u09c0\u0001"+
53664 "\u0000\u0000\u0000\u09be\u09bc\u0001\u0000\u0000\u0000\u09be\u09bf\u0001"+
53665 "\u0000\u0000\u0000\u09bf\u09c2\u0001\u0000\u0000\u0000\u09c0\u09be\u0001"+
53666 "\u0000\u0000\u0000\u09c1\u09b9\u0001\u0000\u0000\u0000\u09c1\u09c2\u0001"+
53667 "\u0000\u0000\u0000\u09c2\u0163\u0001\u0000\u0000\u0000\u09c3\u09c4\u0003"+
53668 "H$\u0000\u09c4\u09c5\u0005_\u0000\u0000\u09c5\u09cb\u0003b1\u0000\u09c6"+
53669 "\u09c9\u0005\u011b\u0000\u0000\u09c7\u09c8\u0005i\u0000\u0000\u09c8\u09ca"+
53670 "\u0005j\u0000\u0000\u09c9\u09c7\u0001\u0000\u0000\u0000\u09c9\u09ca\u0001"+
53671 "\u0000\u0000\u0000\u09ca\u09cc\u0001\u0000\u0000\u0000\u09cb\u09c6\u0001"+
53672 "\u0000\u0000\u0000\u09cb\u09cc\u0001\u0000\u0000\u0000\u09cc\u09ce\u0001"+
53673 "\u0000\u0000\u0000\u09cd\u09cf\u0003\u0136\u009b\u0000\u09ce\u09cd\u0001"+
53674 "\u0000\u0000\u0000\u09ce\u09cf\u0001\u0000\u0000\u0000\u09cf\u0165\u0001"+
53675 "\u0000\u0000\u0000\u09d0\u09d1\u0003\u00cae\u0000\u09d1\u09d2\u0005\u02ac"+
53676 "\u0000\u0000\u09d2\u09d3\u0005\u0181\u0000\u0000\u09d3\u09d4\u0005d\u0000"+
53677 "\u0000\u09d4\u09d5\u0005\u017d\u0000\u0000\u09d5\u0167\u0001\u0000\u0000"+
53678 "\u0000\u09d6\u09d7\u0005>\u0000\u0000\u09d7\u09d9\u0003X,\u0000\u09d8"+
53679 "\u09d6\u0001\u0000\u0000\u0000\u09d8\u09d9\u0001\u0000\u0000\u0000\u09d9"+
53680 "\u09dd\u0001\u0000\u0000\u0000\u09da\u09de\u0003\u016a\u00b5\u0000\u09db"+
53681 "\u09de\u0003\u0174\u00ba\u0000\u09dc\u09de\u0003\u0156\u00ab\u0000\u09dd"+
53682 "\u09da\u0001\u0000\u0000\u0000\u09dd\u09db\u0001\u0000\u0000\u0000\u09dd"+
53683 "\u09dc\u0001\u0000\u0000\u0000\u09de\u0169\u0001\u0000\u0000\u0000\u09df"+
53684 "\u09e2\u0003\u016c\u00b6\u0000\u09e0\u09e3\u0003\u016e\u00b7\u0000\u09e1"+
53685 "\u09e3\u0003\u0170\u00b8\u0000\u09e2\u09e0\u0001\u0000\u0000\u0000\u09e2"+
53686 "\u09e1\u0001\u0000\u0000\u0000\u09e3\u016b\u0001\u0000\u0000\u0000\u09e4"+
53687 "\u09e7\u0003`0\u0000\u09e5\u09e7\u0005@\u0000\u0000\u09e6\u09e4\u0001"+
53688 "\u0000\u0000\u0000\u09e6\u09e5\u0001\u0000\u0000\u0000\u09e7\u016d\u0001"+
53689 "\u0000\u0000\u0000\u09e8\u09ea\u0003\u0140\u00a0\u0000\u09e9\u09e8\u0001"+
53690 "\u0000\u0000\u0000\u09e9\u09ea\u0001\u0000\u0000\u0000\u09ea\u09eb\u0001"+
53691 "\u0000\u0000\u0000\u09eb\u09ed\u0003P(\u0000\u09ec\u09ee\u0003\u0142\u00a1"+
53692 "\u0000\u09ed\u09ec\u0001\u0000\u0000\u0000\u09ed\u09ee\u0001\u0000\u0000"+
53693 "\u0000\u09ee\u09f0\u0001\u0000\u0000\u0000\u09ef\u09f1\u0003\u0144\u00a2"+
53694 "\u0000\u09f0\u09ef\u0001\u0000\u0000\u0000\u09f0\u09f1\u0001\u0000\u0000"+
53695 "\u0000\u09f1\u016f\u0001\u0000\u0000\u0000\u09f2\u09f5\u0005\u00f2\u0000"+
53696 "\u0000\u09f3\u09f6\u0003P(\u0000\u09f4\u09f6\u0003\u0172\u00b9\u0000\u09f5"+
53697 "\u09f3\u0001\u0000\u0000\u0000\u09f5\u09f4\u0001\u0000\u0000\u0000\u09f6"+
53698 "\u0171\u0001\u0000\u0000\u0000\u09f7\u09f8\u0005\u0107\u0000\u0000\u09f8"+
53699 "\u09f9\u0003P(\u0000\u09f9\u09fa\u0003\u014e\u00a7\u0000\u09fa\u0173\u0001"+
53700 "\u0000\u0000\u0000\u09fb\u09fc\u0005A\u0000\u0000\u09fc\u09fe\u0005B\u0000"+
53701 "\u0000\u09fd\u09fb\u0001\u0000\u0000\u0000\u09fd\u09fe\u0001\u0000\u0000"+
53702 "\u0000\u09fe\u09ff\u0001\u0000\u0000\u0000\u09ff\u0a00\u0003P(\u0000\u0a00"+
53703 "\u0a01\u0005\u00e8\u0000\u0000\u0a01\u0a02\u0003@ \u0000\u0a02\u0a06\u0003"+
53704 "P(\u0000\u0a03\u0a05\u0003\u0152\u00a9\u0000\u0a04\u0a03\u0001\u0000\u0000"+
53705 "\u0000\u0a05\u0a08\u0001\u0000\u0000\u0000\u0a06\u0a04\u0001\u0000\u0000"+
53706 "\u0000\u0a06\u0a07\u0001\u0000\u0000\u0000\u0a07\u0175\u0001\u0000\u0000"+
53707 "\u0000\u0a08\u0a06\u0001\u0000\u0000\u0000\u0a09\u0a0a\u0005=\u0000\u0000"+
53708 "\u0a0a\u0a0b\u0003V+\u0000\u0a0b\u0a0e\u0003\u0178\u00bc\u0000\u0a0c\u0a0d"+
53709 "\u0005L\u0000\u0000\u0a0d\u0a0f\u0003\u017a\u00bd\u0000\u0a0e\u0a0c\u0001"+
53710 "\u0000\u0000\u0000\u0a0e\u0a0f\u0001\u0000\u0000\u0000\u0a0f\u0a11\u0001"+
53711 "\u0000\u0000\u0000\u0a10\u0a12\u0003\u015c\u00ae\u0000\u0a11\u0a10\u0001"+
53712 "\u0000\u0000\u0000\u0a11\u0a12\u0001\u0000\u0000\u0000\u0a12\u0a14\u0001"+
53713 "\u0000\u0000\u0000\u0a13\u0a15\u0003\u0160\u00b0\u0000\u0a14\u0a13\u0001"+
53714 "\u0000\u0000\u0000\u0a14\u0a15\u0001\u0000\u0000\u0000\u0a15\u0177\u0001"+
53715 "\u0000\u0000\u0000\u0a16\u0a18\u0003\u0140\u00a0\u0000\u0a17\u0a16\u0001"+
53716 "\u0000\u0000\u0000\u0a17\u0a18\u0001\u0000\u0000\u0000\u0a18\u0a19\u0001"+
53717 "\u0000\u0000\u0000\u0a19\u0a22\u0003P(\u0000\u0a1a\u0a1b\u0005\u00f1\u0000"+
53718 "\u0000\u0a1b\u0a22\u0005\u00f4\u0000\u0000\u0a1c\u0a1e\u0005\u00f2\u0000"+
53719 "\u0000\u0a1d\u0a1c\u0001\u0000\u0000\u0000\u0a1d\u0a1e\u0001\u0000\u0000"+
53720 "\u0000\u0a1e\u0a1f\u0001\u0000\u0000\u0000\u0a1f\u0a20\u0005\u00f4\u0000"+
53721 "\u0000\u0a20\u0a22\u0003P(\u0000\u0a21\u0a17\u0001\u0000\u0000\u0000\u0a21"+
53722 "\u0a1a\u0001\u0000\u0000\u0000\u0a21\u0a1d\u0001\u0000\u0000\u0000\u0a22"+
53723 "\u0179\u0001\u0000\u0000\u0000\u0a23\u0a24\u0005\u001f\u0000\u0000\u0a24"+
53724 "\u0a29\u0003\u00b2Y\u0000\u0a25\u0a26\u0005%\u0000\u0000\u0a26\u0a28\u0003"+
53725 "\u00b2Y\u0000\u0a27\u0a25\u0001\u0000\u0000\u0000\u0a28\u0a2b\u0001\u0000"+
53726 "\u0000\u0000\u0a29\u0a27\u0001\u0000\u0000\u0000\u0a29\u0a2a\u0001\u0000"+
53727 "\u0000\u0000\u0a2a\u0a2c\u0001\u0000\u0000\u0000\u0a2b\u0a29\u0001\u0000"+
53728 "\u0000\u0000\u0a2c\u0a2d\u0005 \u0000\u0000\u0a2d\u017b\u0001\u0000\u0000"+
53729 "\u0000\u0a2e\u0a2f\u0005\u011a\u0000\u0000\u0a2f\u0a30\u0005d\u0000\u0000"+
53730 "\u0a30\u0a31\u0005\u0187\u0000\u0000\u0a31\u0a32\u0005\u001f\u0000\u0000"+
53731 "\u0a32\u0a33\u0003H$\u0000\u0a33\u0a34\u0005%\u0000\u0000\u0a34\u0a35"+
53732 "\u0003H$\u0000\u0a35\u0a36\u0005 \u0000\u0000\u0a36\u017d\u0001\u0000"+
53733 "\u0000\u0000\u0a37\u0a3f\u0005`\u0000\u0000\u0a38\u0a39\u00034\u001a\u0000"+
53734 "\u0a39\u0a3a\u0005\u001f\u0000\u0000\u0a3a\u0a3b\u0003H$\u0000\u0a3b\u0a3c"+
53735 "\u0005 \u0000\u0000\u0a3c\u0a40\u0001\u0000\u0000\u0000\u0a3d\u0a40\u0003"+
53736 "\u00cae\u0000\u0a3e\u0a40\u0005\u02ae\u0000\u0000\u0a3f\u0a38\u0001\u0000"+
53737 "\u0000\u0000\u0a3f\u0a3d\u0001\u0000\u0000\u0000\u0a3f\u0a3e\u0001\u0000"+
53738 "\u0000\u0000\u0a40\u0a42\u0001\u0000\u0000\u0000\u0a41\u0a37\u0001\u0000"+
53739 "\u0000\u0000\u0a41\u0a42\u0001\u0000\u0000\u0000\u0a42\u017f\u0001\u0000"+
53740 "\u0000\u0000\u0a43\u0a46\u0005\u0189\u0000\u0000\u0a44\u0a47\u0003\u00ca"+
53741 "e\u0000\u0a45\u0a47\u0005\u02ae\u0000\u0000\u0a46\u0a44\u0001\u0000\u0000"+
53742 "\u0000\u0a46\u0a45\u0001\u0000\u0000\u0000\u0a47\u0a49\u0001\u0000\u0000"+
53743 "\u0000\u0a48\u0a43\u0001\u0000\u0000\u0000\u0a48\u0a49\u0001\u0000\u0000"+
53744 "\u0000\u0a49\u0a51\u0001\u0000\u0000\u0000\u0a4a\u0a4b\u0005\u0198\u0000"+
53745 "\u0000\u0a4b\u0a50\u00034\u001a\u0000\u0a4c\u0a4d\u0003\u00cae\u0000\u0a4d"+
53746 "\u0a4e\u0005\u02ae\u0000\u0000\u0a4e\u0a50\u0001\u0000\u0000\u0000\u0a4f"+
53747 "\u0a4a\u0001\u0000\u0000\u0000\u0a4f\u0a4c\u0001\u0000\u0000\u0000\u0a50"+
53748 "\u0a52\u0001\u0000\u0000\u0000\u0a51\u0a4f\u0001\u0000\u0000\u0000\u0a51"+
53749 "\u0a52\u0001\u0000\u0000\u0000\u0a52\u0a55\u0001\u0000\u0000\u0000\u0a53"+
53750 "\u0a54\u0005L\u0000\u0000\u0a54\u0a56\u0003\u0182\u00c1\u0000\u0a55\u0a53"+
53751 "\u0001\u0000\u0000\u0000\u0a55\u0a56\u0001\u0000\u0000\u0000\u0a56\u0181"+
53752 "\u0001\u0000\u0000\u0000\u0a57\u0a58\u0005\u001f\u0000\u0000\u0a58\u0a5d"+
53753 "\u0003\u0184\u00c2\u0000\u0a59\u0a5a\u0005%\u0000\u0000\u0a5a\u0a5c\u0003"+
53754 "\u0184\u00c2\u0000\u0a5b\u0a59\u0001\u0000\u0000\u0000\u0a5c\u0a5f\u0001"+
53755 "\u0000\u0000\u0000\u0a5d\u0a5b\u0001\u0000\u0000\u0000\u0a5d\u0a5e\u0001"+
53756 "\u0000\u0000\u0000\u0a5e\u0a60\u0001\u0000\u0000\u0000\u0a5f\u0a5d\u0001"+
53757 "\u0000\u0000\u0000\u0a60\u0a61\u0005 \u0000\u0000\u0a61\u0183\u0001\u0000"+
53758 "\u0000\u0000\u0a62\u0a63\u0005\u0184\u0000\u0000\u0a63\u0a64\u0005\u0018"+
53759 "\u0000\u0000\u0a64\u0a6b\u0007\"\u0000\u0000\u0a65\u0a66\u0005`\u0000"+
53760 "\u0000\u0a66\u0a67\u0005\u00db\u0000\u0000\u0a67\u0a68\u0005\u001f\u0000"+
53761 "\u0000\u0a68\u0a69\u0003\u00c0`\u0000\u0a69\u0a6a\u0005 \u0000\u0000\u0a6a"+
53762 "\u0a6c\u0001\u0000\u0000\u0000\u0a6b\u0a65\u0001\u0000\u0000\u0000\u0a6b"+
53763 "\u0a6c\u0001\u0000\u0000\u0000\u0a6c\u0a95\u0001\u0000\u0000\u0000\u0a6d"+
53764 "\u0a6e\u0005\u019a\u0000\u0000\u0a6e\u0a6f\u0005\u0018\u0000\u0000\u0a6f"+
53765 "\u0a95\u0003\u00cae\u0000\u0a70\u0a71\u0005\u0199\u0000\u0000\u0a71\u0a74"+
53766 "\u0005\u0018\u0000\u0000\u0a72\u0a75\u0003Z-\u0000\u0a73\u0a75\u0005\u0183"+
53767 "\u0000\u0000\u0a74\u0a72\u0001\u0000\u0000\u0000\u0a74\u0a73\u0001\u0000"+
53768 "\u0000\u0000\u0a75\u0a95\u0001\u0000\u0000\u0000\u0a76\u0a77\u0005\u019c"+
53769 "\u0000\u0000\u0a77\u0a78\u0005\u0018\u0000\u0000\u0a78\u0a95\u0003\u00ca"+
53770 "e\u0000\u0a79\u0a7a\u0005\u019d\u0000\u0000\u0a7a\u0a7b\u0005\u0018\u0000"+
53771 "\u0000\u0a7b\u0a95\u0003\u00cae\u0000\u0a7c\u0a7d\u0005\u019b\u0000\u0000"+
53772 "\u0a7d\u0a7e\u0005\u0018\u0000\u0000\u0a7e\u0a95\u0003\u00cae\u0000\u0a7f"+
53773 "\u0a80\u0005\u0188\u0000\u0000\u0a80\u0a81\u0005\u0018\u0000\u0000\u0a81"+
53774 "\u0a83\u0005`\u0000\u0000\u0a82\u0a84\u0003\u01dc\u00ee\u0000\u0a83\u0a82"+
53775 "\u0001\u0000\u0000\u0000\u0a83\u0a84\u0001\u0000\u0000\u0000\u0a84\u0a95"+
53776 "\u0001\u0000\u0000\u0000\u0a85\u0a86\u0005\u0197\u0000\u0000\u0a86\u0a8d"+
53777 "\u0005\u0018\u0000\u0000\u0a87\u0a89\u0005`\u0000\u0000\u0a88\u0a8a\u0003"+
53778 "\u0188\u00c4\u0000\u0a89\u0a88\u0001\u0000\u0000\u0000\u0a89\u0a8a\u0001"+
53779 "\u0000\u0000\u0000\u0a8a\u0a8e\u0001\u0000\u0000\u0000\u0a8b\u0a8c\u0005"+
53780 "\u0115\u0000\u0000\u0a8c\u0a8e\u0003\u018c\u00c6\u0000\u0a8d\u0a87\u0001"+
53781 "\u0000\u0000\u0000\u0a8d\u0a8b\u0001\u0000\u0000\u0000\u0a8e\u0a95\u0001"+
53782 "\u0000\u0000\u0000\u0a8f\u0a95\u0003\u018e\u00c7\u0000\u0a90\u0a95\u0003"+
53783 "\u0190\u00c8\u0000\u0a91\u0a95\u0003\u0192\u00c9\u0000\u0a92\u0a95\u0003"+
53784 "\u0186\u00c3\u0000\u0a93\u0a95\u0003\u0194\u00ca\u0000\u0a94\u0a62\u0001"+
53785 "\u0000\u0000\u0000\u0a94\u0a6d\u0001\u0000\u0000\u0000\u0a94\u0a70\u0001"+
53786 "\u0000\u0000\u0000\u0a94\u0a76\u0001\u0000\u0000\u0000\u0a94\u0a79\u0001"+
53787 "\u0000\u0000\u0000\u0a94\u0a7c\u0001\u0000\u0000\u0000\u0a94\u0a7f\u0001"+
53788 "\u0000\u0000\u0000\u0a94\u0a85\u0001\u0000\u0000\u0000\u0a94\u0a8f\u0001"+
53789 "\u0000\u0000\u0000\u0a94\u0a90\u0001\u0000\u0000\u0000\u0a94\u0a91\u0001"+
53790 "\u0000\u0000\u0000\u0a94\u0a92\u0001\u0000\u0000\u0000\u0a94\u0a93\u0001"+
53791 "\u0000\u0000\u0000\u0a95\u0185\u0001\u0000\u0000\u0000\u0a96\u0a97\u0005"+
53792 "\u01d9\u0000\u0000\u0a97\u0a98\u0005\u0018\u0000\u0000\u0a98\u0a99\u0005"+
53793 "`\u0000\u0000\u0a99\u0a9a\u0005\u001f\u0000\u0000\u0a9a\u0a9b\u0005\u01da"+
53794 "\u0000\u0000\u0a9b\u0a9c\u0005\u0018\u0000\u0000\u0a9c\u0a9d\u0003H$\u0000"+
53795 "\u0a9d\u0a9e\u0005%\u0000\u0000\u0a9e\u0a9f\u0005\u01db\u0000\u0000\u0a9f"+
53796 "\u0aa0\u0005\u0018\u0000\u0000\u0aa0\u0aa1\u0003\u01ce\u00e7\u0000\u0aa1"+
53797 "\u0187\u0001\u0000\u0000\u0000\u0aa2\u0aa3\u0005\u001f\u0000\u0000\u0aa3"+
53798 "\u0aa8\u0003\u018a\u00c5\u0000\u0aa4\u0aa5\u0005%\u0000\u0000\u0aa5\u0aa7"+
53799 "\u0003\u018a\u00c5\u0000\u0aa6\u0aa4\u0001\u0000\u0000\u0000\u0aa7\u0aaa"+
53800 "\u0001\u0000\u0000\u0000\u0aa8\u0aa6\u0001\u0000\u0000\u0000\u0aa8\u0aa9"+
53801 "\u0001\u0000\u0000\u0000\u0aa9\u0aab\u0001\u0000\u0000\u0000\u0aaa\u0aa8"+
53802 "\u0001\u0000\u0000\u0000\u0aab\u0aac\u0005 \u0000\u0000\u0aac\u0189\u0001"+
53803 "\u0000\u0000\u0000\u0aad\u0aae\u0005\u019e\u0000\u0000\u0aae\u0ab1\u0005"+
53804 "\u0018\u0000\u0000\u0aaf\u0ab2\u0005j\u0000\u0000\u0ab0\u0ab2\u0003t:"+
53805 "\u0000\u0ab1\u0aaf\u0001\u0000\u0000\u0000\u0ab1\u0ab0\u0001\u0000\u0000"+
53806 "\u0000\u0ab2\u0ab3\u0001\u0000\u0000\u0000\u0ab3\u0ab5\u0005%\u0000\u0000"+
53807 "\u0ab4\u0aad\u0001\u0000\u0000\u0000\u0ab4\u0ab5\u0001\u0000\u0000\u0000"+
53808 "\u0ab5\u0ab6\u0001\u0000\u0000\u0000\u0ab6\u0ab7\u0005\u0195\u0000\u0000"+
53809 "\u0ab7\u0ab8\u0005\u0018\u0000\u0000\u0ab8\u0ab9\u0007#\u0000\u0000\u0ab9"+
53810 "\u018b\u0001\u0000\u0000\u0000\u0aba\u0abb\u0005\u001f\u0000\u0000\u0abb"+
53811 "\u0abc\u0005\u0195\u0000\u0000\u0abc\u0abd\u0005\u0018\u0000\u0000\u0abd"+
53812 "\u0abe\u0005\u0119\u0000\u0000\u0abe\u0abf\u0005 \u0000\u0000\u0abf\u018d"+
53813 "\u0001\u0000\u0000\u0000\u0ac0\u0ac1\u0005\u0194\u0000\u0000\u0ac1\u0ac2"+
53814 "\u0005\u0018\u0000\u0000\u0ac2\u0acd\u0005`\u0000\u0000\u0ac3\u0ac4\u0005"+
53815 "\u0100\u0000\u0000\u0ac4\u0ac5\u0005\u0018\u0000\u0000\u0ac5\u0acd\u0007"+
53816 "$\u0000\u0000\u0ac6\u0ac7\u0005\u0188\u0000\u0000\u0ac7\u0ac8\u0005\u0018"+
53817 "\u0000\u0000\u0ac8\u0aca\u0005`\u0000\u0000\u0ac9\u0acb\u0003\u01dc\u00ee"+
53818 "\u0000\u0aca\u0ac9\u0001\u0000\u0000\u0000\u0aca\u0acb\u0001\u0000\u0000"+
53819 "\u0000\u0acb\u0acd\u0001\u0000\u0000\u0000\u0acc\u0ac0\u0001\u0000\u0000"+
53820 "\u0000\u0acc\u0ac3\u0001\u0000\u0000\u0000\u0acc\u0ac6\u0001\u0000\u0000"+
53821 "\u0000\u0acd\u018f\u0001\u0000\u0000\u0000\u0ace\u0acf\u0005\u00fe\u0000"+
53822 "\u0000\u0acf\u0ad7\u0005\u0018\u0000\u0000\u0ad0\u0ad1\u0005\u0107\u0000"+
53823 "\u0000\u0ad1\u0ad2\u0005\u001f\u0000\u0000\u0ad2\u0ad3\u0003H$\u0000\u0ad3"+
53824 "\u0ad4\u0005 \u0000\u0000\u0ad4\u0ad8\u0001\u0000\u0000\u0000\u0ad5\u0ad8"+
53825 "\u0005\u018d\u0000\u0000\u0ad6\u0ad8\u0005\u0120\u0000\u0000\u0ad7\u0ad0"+
53826 "\u0001\u0000\u0000\u0000\u0ad7\u0ad5\u0001\u0000\u0000\u0000\u0ad7\u0ad6"+
53827 "\u0001\u0000\u0000\u0000\u0ad8\u0191\u0001\u0000\u0000\u0000\u0ad9\u0ada"+
53828 "\u0005\u00f1\u0000\u0000\u0ada\u0adb\u0005\u00f4\u0000\u0000\u0adb\u0af6"+
53829 "\u0005=\u0000\u0000\u0adc\u0add\u0005\u00f1\u0000\u0000\u0add\u0ade\u0005"+
53830 "\u00f4\u0000\u0000\u0ade\u0adf\u0005=\u0000\u0000\u0adf\u0ae0\u0005s\u0000"+
53831 "\u0000\u0ae0\u0af6\u0003P(\u0000\u0ae1\u0af6\u0005\u0108\u0000\u0000\u0ae2"+
53832 "\u0ae3\u0005\u00f1\u0000\u0000\u0ae3\u0ae4\u0005=\u0000\u0000\u0ae4\u0ae5"+
53833 "\u0005\u001f\u0000\u0000\u0ae5\u0ae7\u0003H$\u0000\u0ae6\u0ae8\u0007\u0012"+
53834 "\u0000\u0000\u0ae7\u0ae6\u0001\u0000\u0000\u0000\u0ae7\u0ae8\u0001\u0000"+
53835 "\u0000\u0000\u0ae8\u0af0\u0001\u0000\u0000\u0000\u0ae9\u0aea\u0005%\u0000"+
53836 "\u0000\u0aea\u0aec\u0003H$\u0000\u0aeb\u0aed\u0007\u0012\u0000\u0000\u0aec"+
53837 "\u0aeb\u0001\u0000\u0000\u0000\u0aec\u0aed\u0001\u0000\u0000\u0000\u0aed"+
53838 "\u0aef\u0001\u0000\u0000\u0000\u0aee\u0ae9\u0001\u0000\u0000\u0000\u0aef"+
53839 "\u0af2\u0001\u0000\u0000\u0000\u0af0\u0aee\u0001\u0000\u0000\u0000\u0af0"+
53840 "\u0af1\u0001\u0000\u0000\u0000\u0af1\u0af3\u0001\u0000\u0000\u0000\u0af2"+
53841 "\u0af0\u0001\u0000\u0000\u0000\u0af3\u0af4\u0005 \u0000\u0000\u0af4\u0af6"+
53842 "\u0001\u0000\u0000\u0000\u0af5\u0ad9\u0001\u0000\u0000\u0000\u0af5\u0adc"+
53843 "\u0001\u0000\u0000\u0000\u0af5\u0ae1\u0001\u0000\u0000\u0000\u0af5\u0ae2"+
53844 "\u0001\u0000\u0000\u0000\u0af6\u0193\u0001\u0000\u0000\u0000\u0af7\u0af8"+
53845 "\u0005\u00da\u0000\u0000\u0af8\u0af9\u0005\u001f\u0000\u0000\u0af9\u0afa"+
53846 "\u0003H$\u0000\u0afa\u0afc\u0005\u011e\u0000\u0000\u0afb\u0afd\u0007%"+
53847 "\u0000\u0000\u0afc\u0afb\u0001\u0000\u0000\u0000\u0afc\u0afd\u0001\u0000"+
53848 "\u0000\u0000\u0afd\u0afe\u0001\u0000\u0000\u0000\u0afe\u0aff\u0005d\u0000"+
53849 "\u0000\u0aff\u0b00\u0005K\u0000\u0000\u0b00\u0b01\u0005\u001f\u0000\u0000"+
53850 "\u0b01\u0b06\u0003r9\u0000\u0b02\u0b03\u0005%\u0000\u0000\u0b03\u0b05"+
53851 "\u0003r9\u0000\u0b04\u0b02\u0001\u0000\u0000\u0000\u0b05\u0b08\u0001\u0000"+
53852 "\u0000\u0000\u0b06\u0b04\u0001\u0000\u0000\u0000\u0b06\u0b07\u0001\u0000"+
53853 "\u0000\u0000\u0b07\u0b09\u0001\u0000\u0000\u0000\u0b08\u0b06\u0001\u0000"+
53854 "\u0000\u0000\u0b09\u0b0a\u0005 \u0000\u0000\u0b0a\u0b0b\u0005 \u0000\u0000"+
53855 "\u0b0b\u0195\u0001\u0000\u0000\u0000\u0b0c\u0b0e\u0005@\u0000\u0000\u0b0d"+
53856 "\u0b0c\u0001\u0000\u0000\u0000\u0b0d\u0b0e\u0001\u0000\u0000\u0000\u0b0e"+
53857 "\u0b10\u0001\u0000\u0000\u0000\u0b0f\u0b11\u0003\u0140\u00a0\u0000\u0b10"+
53858 "\u0b0f\u0001\u0000\u0000\u0000\u0b10\u0b11\u0001\u0000\u0000\u0000\u0b11"+
53859 "\u0197\u0001\u0000\u0000\u0000\u0b12\u0b1c\u0003\u019a\u00cd\u0000\u0b13"+
53860 "\u0b1c\u0003\u019c\u00ce\u0000\u0b14\u0b1c\u0003\u01ac\u00d6\u0000\u0b15"+
53861 "\u0b1c\u0003\u01bc\u00de\u0000\u0b16\u0b1c\u0003\u01be\u00df\u0000\u0b17"+
53862 "\u0b1c\u0003\u01c0\u00e0\u0000\u0b18\u0b1c\u0003\u01c2\u00e1\u0000\u0b19"+
53863 "\u0b1c\u0003\u01da\u00ed\u0000\u0b1a\u0b1c\u0005\u011f\u0000\u0000\u0b1b"+
53864 "\u0b12\u0001\u0000\u0000\u0000\u0b1b\u0b13\u0001\u0000\u0000\u0000\u0b1b"+
53865 "\u0b14\u0001\u0000\u0000\u0000\u0b1b\u0b15\u0001\u0000\u0000\u0000\u0b1b"+
53866 "\u0b16\u0001\u0000\u0000\u0000\u0b1b\u0b17\u0001\u0000\u0000\u0000\u0b1b"+
53867 "\u0b18\u0001\u0000\u0000\u0000\u0b1b\u0b19\u0001\u0000\u0000\u0000\u0b1b"+
53868 "\u0b1a\u0001\u0000\u0000\u0000\u0b1c\u0199\u0001\u0000\u0000\u0000\u0b1d"+
53869 "\u0b1e\u0005L\u0000\u0000\u0b1e\u0b20\u0007&\u0000\u0000\u0b1f\u0b1d\u0001"+
53870 "\u0000\u0000\u0000\u0b1f\u0b20\u0001\u0000\u0000\u0000\u0b20\u0b21\u0001"+
53871 "\u0000\u0000\u0000\u0b21\u0b24\u00059\u0000\u0000\u0b22\u0b25\u0003\u01a0"+
53872 "\u00d0\u0000\u0b23\u0b25\u0003\u01a6\u00d3\u0000\u0b24\u0b22\u0001\u0000"+
53873 "\u0000\u0000\u0b24\u0b23\u0001\u0000\u0000\u0000\u0b25\u019b\u0001\u0000"+
53874 "\u0000\u0000\u0b26\u0b27\u0003\u019e\u00cf\u0000\u0b27\u0b2a\u0003\u0094"+
53875 "J\u0000\u0b28\u0b29\u0005\u00f3\u0000\u0000\u0b29\u0b2b\u0003Z-\u0000"+
53876 "\u0b2a\u0b28\u0001\u0000\u0000\u0000\u0b2a\u0b2b\u0001\u0000\u0000\u0000"+
53877 "\u0b2b\u0b2f\u0001\u0000\u0000\u0000\u0b2c\u0b30\u0005j\u0000\u0000\u0b2d"+
53878 "\u0b2e\u0005i\u0000\u0000\u0b2e\u0b30\u0005j\u0000\u0000\u0b2f\u0b2c\u0001"+
53879 "\u0000\u0000\u0000\u0b2f\u0b2d\u0001\u0000\u0000\u0000\u0b2f\u0b30\u0001"+
53880 "\u0000\u0000\u0000\u0b30\u0b32\u0001\u0000\u0000\u0000\u0b31\u0b33\u0005"+
53881 "\u0126\u0000\u0000\u0b32\u0b31\u0001\u0000\u0000\u0000\u0b32\u0b33\u0001"+
53882 "\u0000\u0000\u0000\u0b33\u019d\u0001\u0000\u0000\u0000\u0b34\u0b35\u0005"+
53883 "3\u0000\u0000\u0b35\u0b36\u0005<\u0000\u0000\u0b36\u0b37\u0003H$\u0000"+
53884 "\u0b37\u019f\u0001\u0000\u0000\u0000\u0b38\u0b3d\u0003\u01a2\u00d1\u0000"+
53885 "\u0b39\u0b3a\u0005%\u0000\u0000\u0b3a\u0b3c\u0003\u01a2\u00d1\u0000\u0b3b"+
53886 "\u0b39\u0001\u0000\u0000\u0000\u0b3c\u0b3f\u0001\u0000\u0000\u0000\u0b3d"+
53887 "\u0b3b\u0001\u0000\u0000\u0000\u0b3d\u0b3e\u0001\u0000\u0000\u0000\u0b3e"+
53888 "\u01a1\u0001\u0000\u0000\u0000\u0b3f\u0b3d\u0001\u0000\u0000\u0000\u0b40"+
53889 "\u0b47\u0003\u012e\u0097\u0000\u0b41\u0b47\u0003\u0164\u00b2\u0000\u0b42"+
53890 "\u0b47\u0003\u0166\u00b3\u0000\u0b43\u0b47\u0003\u0168\u00b4\u0000\u0b44"+
53891 "\u0b47\u0003\u01d0\u00e8\u0000\u0b45\u0b47\u0003\u01a4\u00d2\u0000\u0b46"+
53892 "\u0b40\u0001\u0000\u0000\u0000\u0b46\u0b41\u0001\u0000\u0000\u0000\u0b46"+
53893 "\u0b42\u0001\u0000\u0000\u0000\u0b46\u0b43\u0001\u0000\u0000\u0000\u0b46"+
53894 "\u0b44\u0001\u0000\u0000\u0000\u0b46\u0b45\u0001\u0000\u0000\u0000\u0b47"+
53895 "\u01a3\u0001\u0000\u0000\u0000\u0b48\u0b49\u0005>\u0000\u0000\u0b49\u0b4b"+
53896 "\u0003X,\u0000\u0b4a\u0b48\u0001\u0000\u0000\u0000\u0b4a\u0b4b\u0001\u0000"+
53897 "\u0000\u0000\u0b4b\u0b4c\u0001\u0000\u0000\u0000\u0b4c\u0b4d\u0005\u0098"+
53898 "\u0000\u0000\u0b4d\u0b4e\u0003r9\u0000\u0b4e\u0b4f\u0005d\u0000\u0000"+
53899 "\u0b4f\u0b50\u0003H$\u0000\u0b50\u01a5\u0001\u0000\u0000\u0000\u0b51\u0b52"+
53900 "\u0003\u01a8\u00d4\u0000\u0b52\u0b53\u0005%\u0000\u0000\u0b53\u0b54\u0003"+
53901 "\u017c\u00be\u0000\u0b54\u0b5a\u0001\u0000\u0000\u0000\u0b55\u0b56\u0003"+
53902 "\u017c\u00be\u0000\u0b56\u0b57\u0005%\u0000\u0000\u0b57\u0b58\u0003\u01a8"+
53903 "\u00d4\u0000\u0b58\u0b5a\u0001\u0000\u0000\u0000\u0b59\u0b51\u0001\u0000"+
53904 "\u0000\u0000\u0b59\u0b55\u0001\u0000\u0000\u0000\u0b5a\u01a7\u0001\u0000"+
53905 "\u0000\u0000\u0b5b\u0b5c\u0003\u01aa\u00d5\u0000\u0b5c\u0b5d\u0005\u0098"+
53906 "\u0000\u0000\u0b5d\u0b60\u0003r9\u0000\u0b5e\u0b5f\u0005L\u0000\u0000"+
53907 "\u0b5f\u0b61\u0005K\u0000\u0000\u0b60\u0b5e\u0001\u0000\u0000\u0000\u0b60"+
53908 "\u0b61\u0001\u0000\u0000\u0000\u0b61\u0b62\u0001\u0000\u0000\u0000\u0b62"+
53909 "\u0b63\u0005%\u0000\u0000\u0b63\u0b64\u0003\u01aa\u00d5\u0000\u0b64\u01a9"+
53910 "\u0001\u0000\u0000\u0000\u0b65\u0b66\u0003H$\u0000\u0b66\u0b67\u0003\u0096"+
53911 "K\u0000\u0b67\u0b68\u0005\u00e4\u0000\u0000\u0b68\u0b69\u0005\u00e1\u0000"+
53912 "\u0000\u0b69\u0b6a\u0005_\u0000\u0000\u0b6a\u0b6c\u0005\u00dd\u0000\u0000"+
53913 "\u0b6b\u0b6d\u0007\u001d\u0000\u0000\u0b6c\u0b6b\u0001\u0000\u0000\u0000"+
53914 "\u0b6c\u0b6d\u0001\u0000\u0000\u0000\u0b6d\u0b6f\u0001\u0000\u0000\u0000"+
53915 "\u0b6e\u0b70\u0005\u00d8\u0000\u0000\u0b6f\u0b6e\u0001\u0000\u0000\u0000"+
53916 "\u0b6f\u0b70\u0001\u0000\u0000\u0000\u0b70\u0b73\u0001\u0000\u0000\u0000"+
53917 "\u0b71\u0b72\u0005i\u0000\u0000\u0b72\u0b74\u0005j\u0000\u0000\u0b73\u0b71"+
53918 "\u0001\u0000\u0000\u0000\u0b73\u0b74\u0001\u0000\u0000\u0000\u0b74\u0b77"+
53919 "\u0001\u0000\u0000\u0000\u0b75\u0b76\u0005>\u0000\u0000\u0b76\u0b78\u0003"+
53920 "\u00cae\u0000\u0b77\u0b75\u0001\u0000\u0000\u0000\u0b77\u0b78\u0001\u0000"+
53921 "\u0000\u0000\u0b78\u01ab\u0001\u0000\u0000\u0000\u0b79\u0b80\u00054\u0000"+
53922 "\u0000\u0b7a\u0b81\u0003\u01ae\u00d7\u0000\u0b7b\u0b81\u0003\u01b8\u00dc"+
53923 "\u0000\u0b7c\u0b81\u0003\u01ba\u00dd\u0000\u0b7d\u0b7e\u0005\u011a\u0000"+
53924 "\u0000\u0b7e\u0b7f\u0005d\u0000\u0000\u0b7f\u0b81\u0005\u0187\u0000\u0000"+
53925 "\u0b80\u0b7a\u0001\u0000\u0000\u0000\u0b80\u0b7b\u0001\u0000\u0000\u0000"+
53926 "\u0b80\u0b7c\u0001\u0000\u0000\u0000\u0b80\u0b7d\u0001\u0000\u0000\u0000"+
53927 "\u0b81\u01ad\u0001\u0000\u0000\u0000\u0b82\u0b84\u0005>\u0000\u0000\u0b83"+
53928 "\u0b82\u0001\u0000\u0000\u0000\u0b83\u0b84\u0001\u0000\u0000\u0000\u0b84"+
53929 "\u0b86\u0001\u0000\u0000\u0000\u0b85\u0b87\u0003\u00deo\u0000\u0b86\u0b85"+
53930 "\u0001\u0000\u0000\u0000\u0b86\u0b87\u0001\u0000\u0000\u0000\u0b87\u0b88"+
53931 "\u0001\u0000\u0000\u0000\u0b88\u0b8d\u0003\u01b0\u00d8\u0000\u0b89\u0b8a"+
53932 "\u0005%\u0000\u0000\u0b8a\u0b8c\u0003\u01b0\u00d8\u0000\u0b8b\u0b89\u0001"+
53933 "\u0000\u0000\u0000\u0b8c\u0b8f\u0001\u0000\u0000\u0000\u0b8d\u0b8b\u0001"+
53934 "\u0000\u0000\u0000\u0b8d\u0b8e\u0001\u0000\u0000\u0000\u0b8e\u01af\u0001"+
53935 "\u0000\u0000\u0000\u0b8f\u0b8d\u0001\u0000\u0000\u0000\u0b90\u0b92\u0003"+
53936 "X,\u0000\u0b91\u0b93\u0003\u01b2\u00d9\u0000\u0b92\u0b91\u0001\u0000\u0000"+
53937 "\u0000\u0b92\u0b93\u0001\u0000\u0000\u0000\u0b93\u01b1\u0001\u0000\u0000"+
53938 "\u0000\u0b94\u0b95\u0005L\u0000\u0000\u0b95\u0b96\u0005\u001f\u0000\u0000"+
53939 "\u0b96\u0b9b\u0003\u01b4\u00da\u0000\u0b97\u0b98\u0005%\u0000\u0000\u0b98"+
53940 "\u0b9a\u0003\u01b4\u00da\u0000\u0b99\u0b97\u0001\u0000\u0000\u0000\u0b9a"+
53941 "\u0b9d\u0001\u0000\u0000\u0000\u0b9b\u0b99\u0001\u0000\u0000\u0000\u0b9b"+
53942 "\u0b9c\u0001\u0000\u0000\u0000\u0b9c\u0b9e\u0001\u0000\u0000\u0000\u0b9d"+
53943 "\u0b9b\u0001\u0000\u0000\u0000\u0b9e\u0b9f\u0005 \u0000\u0000\u0b9f\u01b3"+
53944 "\u0001\u0000\u0000\u0000\u0ba0\u0ba1\u0005\u0110\u0000\u0000\u0ba1\u0ba2"+
53945 "\u0005\u0018\u0000\u0000\u0ba2\u0bb2\u0005\u02af\u0000\u0000\u0ba3\u0ba4"+
53946 "\u0005\u0116\u0000\u0000\u0ba4\u0ba5\u0005\u0018\u0000\u0000\u0ba5\u0bb2"+
53947 "\u0003\u01b6\u00db\u0000\u0ba6\u0ba7\u0005\u0111\u0000\u0000\u0ba7\u0baf"+
53948 "\u0005e\u0000\u0000\u0ba8\u0ba9\u00034\u001a\u0000\u0ba9\u0baa\u0005\u001f"+
53949 "\u0000\u0000\u0baa\u0bab\u0003H$\u0000\u0bab\u0bac\u0005 \u0000\u0000"+
53950 "\u0bac\u0bb0\u0001\u0000\u0000\u0000\u0bad\u0bb0\u0003\u00cae\u0000\u0bae"+
53951 "\u0bb0\u0005\u02ae\u0000\u0000\u0baf\u0ba8\u0001\u0000\u0000\u0000\u0baf"+
53952 "\u0bad\u0001\u0000\u0000\u0000\u0baf\u0bae\u0001\u0000\u0000\u0000\u0bb0"+
53953 "\u0bb2\u0001\u0000\u0000\u0000\u0bb1\u0ba0\u0001\u0000\u0000\u0000\u0bb1"+
53954 "\u0ba3\u0001\u0000\u0000\u0000\u0bb1\u0ba6\u0001\u0000\u0000\u0000\u0bb2"+
53955 "\u01b5\u0001\u0000\u0000\u0000\u0bb3\u0bb4\u0007\u0000\u0000\u0000\u0bb4"+
53956 "\u01b7\u0001\u0000\u0000\u0000\u0bb5\u0bb7\u0005<\u0000\u0000\u0bb6\u0bb8"+
53957 "\u0003\u00deo\u0000\u0bb7\u0bb6\u0001\u0000\u0000\u0000\u0bb7\u0bb8\u0001"+
53958 "\u0000\u0000\u0000\u0bb8\u0bb9\u0001\u0000\u0000\u0000\u0bb9\u0bbe\u0003"+
53959 "H$\u0000\u0bba\u0bbb\u0005%\u0000\u0000\u0bbb\u0bbd\u0003H$\u0000\u0bbc"+
53960 "\u0bba\u0001\u0000\u0000\u0000\u0bbd\u0bc0\u0001\u0000\u0000\u0000\u0bbe"+
53961 "\u0bbc\u0001\u0000\u0000\u0000\u0bbe\u0bbf\u0001\u0000\u0000\u0000\u0bbf"+
53962 "\u01b9\u0001\u0000\u0000\u0000\u0bc0\u0bbe\u0001\u0000\u0000\u0000\u0bc1"+
53963 "\u0bc3\u0005=\u0000\u0000\u0bc2\u0bc4\u0003\u00deo\u0000\u0bc3\u0bc2\u0001"+
53964 "\u0000\u0000\u0000\u0bc3\u0bc4\u0001\u0000\u0000\u0000\u0bc4\u0bc5\u0001"+
53965 "\u0000\u0000\u0000\u0bc5\u0bca\u0003V+\u0000\u0bc6\u0bc7\u0005%\u0000"+
53966 "\u0000\u0bc7\u0bc9\u0003V+\u0000\u0bc8\u0bc6\u0001\u0000\u0000\u0000\u0bc9"+
53967 "\u0bcc\u0001\u0000\u0000\u0000\u0bca\u0bc8\u0001\u0000\u0000\u0000\u0bca"+
53968 "\u0bcb\u0001\u0000\u0000\u0000\u0bcb\u01bb\u0001\u0000\u0000\u0000\u0bcc"+
53969 "\u0bca\u0001\u0000\u0000\u0000\u0bcd\u0bcf\u0005L\u0000\u0000\u0bce\u0bcd"+
53970 "\u0001\u0000\u0000\u0000\u0bce\u0bcf\u0001\u0000\u0000\u0000\u0bcf\u0bd0"+
53971 "\u0001\u0000\u0000\u0000\u0bd0\u0bd1\u0007&\u0000\u0000\u0bd1\u0bd4\u0005"+
53972 ">\u0000\u0000\u0bd2\u0bd5\u0005p\u0000\u0000\u0bd3\u0bd5\u0003X,\u0000"+
53973 "\u0bd4\u0bd2\u0001\u0000\u0000\u0000\u0bd4\u0bd3\u0001\u0000\u0000\u0000"+
53974 "\u0bd5\u01bd\u0001\u0000\u0000\u0000\u0bd6\u0bd7\u0007\'\u0000\u0000\u0bd7"+
53975 "\u0bda\u0005F\u0000\u0000\u0bd8\u0bdb\u0005p\u0000\u0000\u0bd9\u0bdb\u0003"+
53976 "\u00ccf\u0000\u0bda\u0bd8\u0001\u0000\u0000\u0000\u0bda\u0bd9\u0001\u0000"+
53977 "\u0000\u0000\u0bdb\u01bf\u0001\u0000\u0000\u0000\u0bdc\u0bdf\u0005\u0127"+
53978 "\u0000\u0000\u0bdd\u0bde\u0005\u00da\u0000\u0000\u0bde\u0be0\u0003b1\u0000"+
53979 "\u0bdf\u0bdd\u0001\u0000\u0000\u0000\u0bdf\u0be0\u0001\u0000\u0000\u0000"+
53980 "\u0be0\u0be1\u0001\u0000\u0000\u0000\u0be1\u0be2\u0005e\u0000\u0000\u0be2"+
53981 "\u0be5\u0003@ \u0000\u0be3\u0be4\u0005\u00da\u0000\u0000\u0be4\u0be6\u0003"+
53982 "b1\u0000\u0be5\u0be3\u0001\u0000\u0000\u0000\u0be5\u0be6\u0001\u0000\u0000"+
53983 "\u0000\u0be6\u0bec\u0001\u0000\u0000\u0000\u0be7\u0be8\u0005L\u0000\u0000"+
53984 "\u0be8\u0be9\u0005\u001f\u0000\u0000\u0be9\u0bea\u0003\u00c6c\u0000\u0bea"+
53985 "\u0beb\u0005 \u0000\u0000\u0beb\u0bed\u0001\u0000\u0000\u0000\u0bec\u0be7"+
53986 "\u0001\u0000\u0000\u0000\u0bec\u0bed\u0001\u0000\u0000\u0000\u0bed\u01c1"+
53987 "\u0001\u0000\u0000\u0000\u0bee\u0bef\u0005:\u0000\u0000\u0bef\u0bf2\u0005"+
53988 "\u001f\u0000\u0000\u0bf0\u0bf3\u0003\u01c4\u00e2\u0000\u0bf1\u0bf3\u0003"+
53989 "\u01c6\u00e3\u0000\u0bf2\u0bf0\u0001\u0000\u0000\u0000\u0bf2\u0bf1\u0001"+
53990 "\u0000\u0000\u0000\u0bf3\u0bf4\u0001\u0000\u0000\u0000\u0bf4\u0bf5\u0005"+
53991 " \u0000\u0000\u0bf5\u01c3\u0001\u0000\u0000\u0000\u0bf6\u0bf7\u0005\u0198"+
53992 "\u0000\u0000\u0bf7\u0bfb\u0005\u0018\u0000\u0000\u0bf8\u0bfc\u00034\u001a"+
53993 "\u0000\u0bf9\u0bfc\u0003\u00cae\u0000\u0bfa\u0bfc\u0005\u02ae\u0000\u0000"+
53994 "\u0bfb\u0bf8\u0001\u0000\u0000\u0000\u0bfb\u0bf9\u0001\u0000\u0000\u0000"+
53995 "\u0bfb\u0bfa\u0001\u0000\u0000\u0000\u0bfc\u01c5\u0001\u0000\u0000\u0000"+
53996 "\u0bfd\u0bfe\u0005\u0188\u0000\u0000\u0bfe\u0c04\u0005\u0018\u0000\u0000"+
53997 "\u0bff\u0c05\u0005\u0115\u0000\u0000\u0c00\u0c02\u0005`\u0000\u0000\u0c01"+
53998 "\u0c03\u0003\u01c8\u00e4\u0000\u0c02\u0c01\u0001\u0000\u0000\u0000\u0c02"+
53999 "\u0c03\u0001\u0000\u0000\u0000\u0c03\u0c05\u0001\u0000\u0000\u0000\u0c04"+
54000 "\u0bff\u0001\u0000\u0000\u0000\u0c04\u0c00\u0001\u0000\u0000\u0000\u0c05"+
54001 "\u01c7\u0001\u0000\u0000\u0000\u0c06\u0c0a\u0005\u001f\u0000\u0000\u0c07"+
54002 "\u0c08\u0005\u01a0\u0000\u0000\u0c08\u0c09\u0005\u0018\u0000\u0000\u0c09"+
54003 "\u0c0b\u0003@ \u0000\u0c0a\u0c07\u0001\u0000\u0000\u0000\u0c0a\u0c0b\u0001"+
54004 "\u0000\u0000\u0000\u0c0b\u0c0d\u0001\u0000\u0000\u0000\u0c0c\u0c0e\u0003"+
54005 "\u01ca\u00e5\u0000\u0c0d\u0c0c\u0001\u0000\u0000\u0000\u0c0d\u0c0e\u0001"+
54006 "\u0000\u0000\u0000\u0c0e\u0c10\u0001\u0000\u0000\u0000\u0c0f\u0c11\u0003"+
54007 "\u01cc\u00e6\u0000\u0c10\u0c0f\u0001\u0000\u0000\u0000\u0c10\u0c11\u0001"+
54008 "\u0000\u0000\u0000\u0c11\u0c12\u0001\u0000\u0000\u0000\u0c12\u0c13\u0005"+
54009 " \u0000\u0000\u0c13\u01c9\u0001\u0000\u0000\u0000\u0c14\u0c16\u0005%\u0000"+
54010 "\u0000\u0c15\u0c14\u0001\u0000\u0000\u0000\u0c15\u0c16\u0001\u0000\u0000"+
54011 "\u0000\u0c16\u0c17\u0001\u0000\u0000\u0000\u0c17\u0c18\u0005\u0185\u0000"+
54012 "\u0000\u0c18\u0c19\u0005\u0018\u0000\u0000\u0c19\u0c1a\u0003\u01b6\u00db"+
54013 "\u0000\u0c1a\u01cb\u0001\u0000\u0000\u0000\u0c1b\u0c1d\u0005%\u0000\u0000"+
54014 "\u0c1c\u0c1b\u0001\u0000\u0000\u0000\u0c1c\u0c1d\u0001\u0000\u0000\u0000"+
54015 "\u0c1d\u0c1e\u0001\u0000\u0000\u0000\u0c1e\u0c1f\u0005\u019f\u0000\u0000"+
54016 "\u0c1f\u0c20\u0005\u0018\u0000\u0000\u0c20\u0c21\u0003\u01ce\u00e7\u0000"+
54017 "\u0c21\u01cd\u0001\u0000\u0000\u0000\u0c22\u0c26\u0005\u010d\u0000\u0000"+
54018 "\u0c23\u0c24\u0005\u02af\u0000\u0000\u0c24\u0c26\u0007(\u0000\u0000\u0c25"+
54019 "\u0c22\u0001\u0000\u0000\u0000\u0c25\u0c23\u0001\u0000\u0000\u0000\u0c26"+
54020 "\u01cf\u0001\u0000\u0000\u0000\u0c27\u0c2a\u0003\u01d2\u00e9\u0000\u0c28"+
54021 "\u0c2b\u0003\u01d4\u00ea\u0000\u0c29\u0c2b\u0003\u01d8\u00ec\u0000\u0c2a"+
54022 "\u0c28\u0001\u0000\u0000\u0000\u0c2a\u0c29\u0001\u0000\u0000\u0000\u0c2b"+
54023 "\u01d1\u0001\u0000\u0000\u0000\u0c2c\u0c2d\u0005=\u0000\u0000\u0c2d\u0c2e"+
54024 "\u0003V+\u0000\u0c2e\u01d3\u0001\u0000\u0000\u0000\u0c2f\u0c35\u0005\u00f2"+
54025 "\u0000\u0000\u0c30\u0c36\u0003\u0172\u00b9\u0000\u0c31\u0c33\u0003R)\u0000"+
54026 "\u0c32\u0c34\u0003\u01d6\u00eb\u0000\u0c33\u0c32\u0001\u0000\u0000\u0000"+
54027 "\u0c33\u0c34\u0001\u0000\u0000\u0000\u0c34\u0c36\u0001\u0000\u0000\u0000"+
54028 "\u0c35\u0c30\u0001\u0000\u0000\u0000\u0c35\u0c31\u0001\u0000\u0000\u0000"+
54029 "\u0c36\u01d5\u0001\u0000\u0000\u0000\u0c37\u0c38\u0005`\u0000\u0000\u0c38"+
54030 "\u0c3b\u0003\u00cae\u0000\u0c39\u0c3b\u0005\u0098\u0000\u0000\u0c3a\u0c37"+
54031 "\u0001\u0000\u0000\u0000\u0c3a\u0c39\u0001\u0000\u0000\u0000\u0c3b\u01d7"+
54032 "\u0001\u0000\u0000\u0000\u0c3c\u0c3d\u0005\u00f1\u0000\u0000\u0c3d\u0c45"+
54033 "\u0005\u00f4\u0000\u0000\u0c3e\u0c3f\u0005L\u0000\u0000\u0c3f\u0c40\u0005"+
54034 "\u0182\u0000\u0000\u0c40\u0c41\u0005\u0018\u0000\u0000\u0c41\u0c43\u0005"+
54035 "\u02af\u0000\u0000\u0c42\u0c44\u0005\u00fb\u0000\u0000\u0c43\u0c42\u0001"+
54036 "\u0000\u0000\u0000\u0c43\u0c44\u0001\u0000\u0000\u0000\u0c44\u0c46\u0001"+
54037 "\u0000\u0000\u0000\u0c45\u0c3e\u0001\u0000\u0000\u0000\u0c45\u0c46\u0001"+
54038 "\u0000\u0000\u0000\u0c46\u0c48\u0001\u0000\u0000\u0000\u0c47\u0c49\u0003"+
54039 "\u015c\u00ae\u0000\u0c48\u0c47\u0001\u0000\u0000\u0000\u0c48\u0c49\u0001"+
54040 "\u0000\u0000\u0000\u0c49\u01d9\u0001\u0000\u0000\u0000\u0c4a\u0c4b\u0005"+
54041 ":\u0000\u0000\u0c4b\u0c4c\u0005\u001f\u0000\u0000\u0c4c\u0c4d\u0005\u01a1"+
54042 "\u0000\u0000\u0c4d\u0c4e\u0005\u0018\u0000\u0000\u0c4e\u0c4f\u0007)\u0000"+
54043 "\u0000\u0c4f\u0c5d\u0005 \u0000\u0000\u0c50\u0c51\u0005\u0194\u0000\u0000"+
54044 "\u0c51\u0c52\u0005\u0018\u0000\u0000\u0c52\u0c5d\u0005`\u0000\u0000\u0c53"+
54045 "\u0c54\u0005\u0100\u0000\u0000\u0c54\u0c55\u0005\u0018\u0000\u0000\u0c55"+
54046 "\u0c5d\u0007$\u0000\u0000\u0c56\u0c57\u0005\u0188\u0000\u0000\u0c57\u0c58"+
54047 "\u0005\u0018\u0000\u0000\u0c58\u0c5a\u0005`\u0000\u0000\u0c59\u0c5b\u0003"+
54048 "\u01dc\u00ee\u0000\u0c5a\u0c59\u0001\u0000\u0000\u0000\u0c5a\u0c5b\u0001"+
54049 "\u0000\u0000\u0000\u0c5b\u0c5d\u0001\u0000\u0000\u0000\u0c5c\u0c4a\u0001"+
54050 "\u0000\u0000\u0000\u0c5c\u0c50\u0001\u0000\u0000\u0000\u0c5c\u0c53\u0001"+
54051 "\u0000\u0000\u0000\u0c5c\u0c56\u0001\u0000\u0000\u0000\u0c5d\u01db\u0001"+
54052 "\u0000\u0000\u0000\u0c5e\u0c5f\u0005\u001f\u0000\u0000\u0c5f\u0c60\u0005"+
54053 "\u01a0\u0000\u0000\u0c60\u0c61\u0005\u0018\u0000\u0000\u0c61\u0c66\u0003"+
54054 "@ \u0000\u0c62\u0c63\u0005%\u0000\u0000\u0c63\u0c64\u0005\u0185\u0000"+
54055 "\u0000\u0c64\u0c65\u0005\u0018\u0000\u0000\u0c65\u0c67\u0003\u01b6\u00db"+
54056 "\u0000\u0c66\u0c62\u0001\u0000\u0000\u0000\u0c66\u0c67\u0001\u0000\u0000"+
54057 "\u0000\u0c67\u0c68\u0001\u0000\u0000\u0000\u0c68\u0c69\u0005 \u0000\u0000"+
54058 "\u0c69\u01dd\u0001\u0000\u0000\u0000\u0c6a\u0c6b\u0005\u01dc\u0000\u0000"+
54059 "\u0c6b\u0c6c\u0005\u0018\u0000\u0000\u0c6c\u0c6e\u0007*\u0000\u0000\u0c6d"+
54060 "\u0c6a\u0001\u0000\u0000\u0000\u0c6d\u0c6e\u0001\u0000\u0000\u0000\u0c6e"+
54061 "\u0c70\u0001\u0000\u0000\u0000\u0c6f\u0c71\u0003\u01e0\u00f0\u0000\u0c70"+
54062 "\u0c6f\u0001\u0000\u0000\u0000\u0c70\u0c71\u0001\u0000\u0000\u0000\u0c71"+
54063 "\u0c74\u0001\u0000\u0000\u0000\u0c72\u0c73\u0005\u00f3\u0000\u0000\u0c73"+
54064 "\u0c75\u0003\u00cae\u0000\u0c74\u0c72\u0001\u0000\u0000\u0000\u0c74\u0c75"+
54065 "\u0001\u0000\u0000\u0000\u0c75\u0c7f\u0001\u0000\u0000\u0000\u0c76\u0c77"+
54066 "\u0005L\u0000\u0000\u0c77\u0c7c\u0003\u01e2\u00f1\u0000\u0c78\u0c79\u0005"+
54067 "%\u0000\u0000\u0c79\u0c7b\u0003\u01e2\u00f1\u0000\u0c7a\u0c78\u0001\u0000"+
54068 "\u0000\u0000\u0c7b\u0c7e\u0001\u0000\u0000\u0000\u0c7c\u0c7a\u0001\u0000"+
54069 "\u0000\u0000\u0c7c\u0c7d\u0001\u0000\u0000\u0000\u0c7d\u0c80\u0001\u0000"+
54070 "\u0000\u0000\u0c7e\u0c7c\u0001\u0000\u0000\u0000\u0c7f\u0c76\u0001\u0000"+
54071 "\u0000\u0000\u0c7f\u0c80\u0001\u0000\u0000\u0000\u0c80\u01df\u0001\u0000"+
54072 "\u0000\u0000\u0c81\u0c83\u0005`\u0000\u0000\u0c82\u0c84\u0005?\u0000\u0000"+
54073 "\u0c83\u0c82\u0001\u0000\u0000\u0000\u0c83\u0c84\u0001\u0000\u0000\u0000"+
54074 "\u0c84\u0c85\u0001\u0000\u0000\u0000\u0c85\u0c8a\u0003\u01e6\u00f3\u0000"+
54075 "\u0c86\u0c87\u0005%\u0000\u0000\u0c87\u0c89\u0003\u01e6\u00f3\u0000\u0c88"+
54076 "\u0c86\u0001\u0000\u0000\u0000\u0c89\u0c8c\u0001\u0000\u0000\u0000\u0c8a"+
54077 "\u0c88\u0001\u0000\u0000\u0000\u0c8a\u0c8b\u0001\u0000\u0000\u0000\u0c8b"+
54078 "\u0c91\u0001\u0000\u0000\u0000\u0c8c\u0c8a\u0001\u0000\u0000\u0000\u0c8d"+
54079 "\u0c8e\u0005%\u0000\u0000\u0c8e\u0c90\u0003\u01ea\u00f5\u0000\u0c8f\u0c8d"+
54080 "\u0001\u0000\u0000\u0000\u0c90\u0c93\u0001\u0000\u0000\u0000\u0c91\u0c8f"+
54081 "\u0001\u0000\u0000\u0000\u0c91\u0c92\u0001\u0000\u0000\u0000\u0c92\u0c94"+
54082 "\u0001\u0000\u0000\u0000\u0c93\u0c91\u0001\u0000\u0000\u0000\u0c94\u0c95"+
54083 "\u0003\u01ee\u00f7\u0000\u0c95\u01e1\u0001\u0000\u0000\u0000\u0c96\u0c97"+
54084 "\u0005\u0103\u0000\u0000\u0c97\u0c9c\u0003\u01e4\u00f2\u0000\u0c98\u0c99"+
54085 "\u0005%\u0000\u0000\u0c99\u0c9b\u0003\u01e4\u00f2\u0000\u0c9a\u0c98\u0001"+
54086 "\u0000\u0000\u0000\u0c9b\u0c9e\u0001\u0000\u0000\u0000\u0c9c\u0c9a\u0001"+
54087 "\u0000\u0000\u0000\u0c9c\u0c9d\u0001\u0000\u0000\u0000\u0c9d\u0cb9\u0001"+
54088 "\u0000\u0000\u0000\u0c9e\u0c9c\u0001\u0000\u0000\u0000\u0c9f\u0ca0\u0005"+
54089 "\u0276\u0000\u0000\u0ca0\u0ca1\u0005\u0018\u0000\u0000\u0ca1\u0cb9\u0003"+
54090 "\u00cae\u0000\u0ca2\u0ca3\u0005\u0277\u0000\u0000\u0ca3\u0ca4\u0005\u0018"+
54091 "\u0000\u0000\u0ca4\u0cb9\u0003\u00cae\u0000\u0ca5\u0ca6\u0005\u0279\u0000"+
54092 "\u0000\u0ca6\u0ca7\u0005\u0018\u0000\u0000\u0ca7\u0cb9\u0007\u0000\u0000"+
54093 "\u0000\u0ca8\u0ca9\u0005\u027a\u0000\u0000\u0ca9\u0caa\u0005\u0018\u0000"+
54094 "\u0000\u0caa\u0cb9\u0007\u0000\u0000\u0000\u0cab\u0cac\u0005\u027b\u0000"+
54095 "\u0000\u0cac\u0cad\u0005\u0018\u0000\u0000\u0cad\u0cb9\u0003\u00cae\u0000"+
54096 "\u0cae\u0caf\u0005\u01eb\u0000\u0000\u0caf\u0cb9\u0007\u0000\u0000\u0000"+
54097 "\u0cb0\u0cb1\u0005\u01ec\u0000\u0000\u0cb1\u0cb9\u0007\u0000\u0000\u0000"+
54098 "\u0cb2\u0cb3\u0005\u027c\u0000\u0000\u0cb3\u0cb4\u0005\u0018\u0000\u0000"+
54099 "\u0cb4\u0cb5\u0005`\u0000\u0000\u0cb5\u0cb6\u0005\u027d\u0000\u0000\u0cb6"+
54100 "\u0cb7\u0005\u0018\u0000\u0000\u0cb7\u0cb9\u0003\u00cae\u0000\u0cb8\u0c96"+
54101 "\u0001\u0000\u0000\u0000\u0cb8\u0c9f\u0001\u0000\u0000\u0000\u0cb8\u0ca2"+
54102 "\u0001\u0000\u0000\u0000\u0cb8\u0ca5\u0001\u0000\u0000\u0000\u0cb8\u0ca8"+
54103 "\u0001\u0000\u0000\u0000\u0cb8\u0cab\u0001\u0000\u0000\u0000\u0cb8\u0cae"+
54104 "\u0001\u0000\u0000\u0000\u0cb8\u0cb0\u0001\u0000\u0000\u0000\u0cb8\u0cb2"+
54105 "\u0001\u0000\u0000\u0000\u0cb9\u01e3\u0001\u0000\u0000\u0000\u0cba\u0cbb"+
54106 "\u0005\u01ea\u0000\u0000\u0cbb\u0cbc\u0005\u0018\u0000\u0000\u0cbc\u0cc1"+
54107 "\u0007+\u0000\u0000\u0cbd\u0cbe\u0005\u027d\u0000\u0000\u0cbe\u0cbf\u0005"+
54108 "\u0018\u0000\u0000\u0cbf\u0cc1\u0003\u00cae\u0000\u0cc0\u0cba\u0001\u0000"+
54109 "\u0000\u0000\u0cc0\u0cbd\u0001\u0000\u0000\u0000\u0cc1\u01e5\u0001\u0000"+
54110 "\u0000\u0000\u0cc2\u0cc3\u0005\u001f\u0000\u0000\u0cc3\u0cc4\u0005\u00a8"+
54111 "\u0000\u0000\u0cc4\u0cc5\u0005\u0018\u0000\u0000\u0cc5\u0cc6\u0003\u00ca"+
54112 "e\u0000\u0cc6\u0cc7\u0005%\u0000\u0000\u0cc7\u0cc8\u0005\u01de\u0000\u0000"+
54113 "\u0cc8\u0cc9\u0005\u0018\u0000\u0000\u0cc9\u0cca\u0005\u02ae\u0000\u0000"+
54114 "\u0cca\u0ccb\u0003\u01e8\u00f4\u0000\u0ccb\u0ccc\u0005 \u0000\u0000\u0ccc"+
54115 "\u01e7\u0001\u0000\u0000\u0000\u0ccd\u0cce\u0005%\u0000\u0000\u0cce\u0ccf"+
54116 "\u0005\u01df\u0000\u0000\u0ccf\u0cd0\u0005\u0018\u0000\u0000\u0cd0\u0cd2"+
54117 "\u0003\u001e\u000f\u0000\u0cd1\u0cd3\u0007,\u0000\u0000\u0cd2\u0cd1\u0001"+
54118 "\u0000\u0000\u0000\u0cd2\u0cd3\u0001\u0000\u0000\u0000\u0cd3\u0cd5\u0001"+
54119 "\u0000\u0000\u0000\u0cd4\u0ccd\u0001\u0000\u0000\u0000\u0cd4\u0cd5\u0001"+
54120 "\u0000\u0000\u0000\u0cd5\u0ce0\u0001\u0000\u0000\u0000\u0cd6\u0cd7\u0005"+
54121 "%\u0000\u0000\u0cd7\u0cd8\u0005\u01e0\u0000\u0000\u0cd8\u0cde\u0005\u0018"+
54122 "\u0000\u0000\u0cd9\u0cdb\u0003\u001e\u000f\u0000\u0cda\u0cdc\u0007,\u0000"+
54123 "\u0000\u0cdb\u0cda\u0001\u0000\u0000\u0000\u0cdb\u0cdc\u0001\u0000\u0000"+
54124 "\u0000\u0cdc\u0cdf\u0001\u0000\u0000\u0000\u0cdd\u0cdf\u0005\u01e2\u0000"+
54125 "\u0000\u0cde\u0cd9\u0001\u0000\u0000\u0000\u0cde\u0cdd\u0001\u0000\u0000"+
54126 "\u0000\u0cdf\u0ce1\u0001\u0000\u0000\u0000\u0ce0\u0cd6\u0001\u0000\u0000"+
54127 "\u0000\u0ce0\u0ce1\u0001\u0000\u0000\u0000\u0ce1\u0ce9\u0001\u0000\u0000"+
54128 "\u0000\u0ce2\u0ce3\u0005%\u0000\u0000\u0ce3\u0ce4\u0005\u01e1\u0000\u0000"+
54129 "\u0ce4\u0ce5\u0005\u0018\u0000\u0000\u0ce5\u0ce7\u0003\u001e\u000f\u0000"+
54130 "\u0ce6\u0ce8\u0007-\u0000\u0000\u0ce7\u0ce6\u0001\u0000\u0000\u0000\u0ce7"+
54131 "\u0ce8\u0001\u0000\u0000\u0000\u0ce8\u0cea\u0001\u0000\u0000\u0000\u0ce9"+
54132 "\u0ce2\u0001\u0000\u0000\u0000\u0ce9\u0cea\u0001\u0000\u0000\u0000\u0cea"+
54133 "\u01e9\u0001\u0000\u0000\u0000\u0ceb\u0cec\u0005\u01e9\u0000\u0000\u0cec"+
54134 "\u0cee\u0003\u00cae\u0000\u0ced\u0cef\u0003\u01ec\u00f6\u0000\u0cee\u0ced"+
54135 "\u0001\u0000\u0000\u0000\u0cee\u0cef\u0001\u0000\u0000\u0000\u0cef\u0cf0"+
54136 "\u0001\u0000\u0000\u0000\u0cf0\u0cf5\u0003\u01e6\u00f3\u0000\u0cf1\u0cf2"+
54137 "\u0005%\u0000\u0000\u0cf2\u0cf4\u0003\u01e6\u00f3\u0000\u0cf3\u0cf1\u0001"+
54138 "\u0000\u0000\u0000\u0cf4\u0cf7\u0001\u0000\u0000\u0000\u0cf5\u0cf3\u0001"+
54139 "\u0000\u0000\u0000\u0cf5\u0cf6\u0001\u0000\u0000\u0000\u0cf6\u01eb\u0001"+
54140 "\u0000\u0000\u0000\u0cf7\u0cf5\u0001\u0000\u0000\u0000\u0cf8\u0cf9\u0005"+
54141 "\u01e7\u0000\u0000\u0cf9\u0cfb\u0005\u0103\u0000\u0000\u0cfa\u0cf8\u0001"+
54142 "\u0000\u0000\u0000\u0cfa\u0cfb\u0001\u0000\u0000\u0000\u0cfb\u0cfd\u0001"+
54143 "\u0000\u0000\u0000\u0cfc\u0cfe\u0005\u0098\u0000\u0000\u0cfd\u0cfc\u0001"+
54144 "\u0000\u0000\u0000\u0cfd\u0cfe\u0001\u0000\u0000\u0000\u0cfe\u0d02\u0001"+
54145 "\u0000\u0000\u0000\u0cff\u0d00\u0005\u01e7\u0000\u0000\u0d00\u0d02\u0005"+
54146 "\u01e8\u0000\u0000\u0d01\u0cfa\u0001\u0000\u0000\u0000\u0d01\u0cff\u0001"+
54147 "\u0000\u0000\u0000\u0d02\u01ed\u0001\u0000\u0000\u0000\u0d03\u0d04\u0005"+
54148 "\u0173\u0000\u0000\u0d04\u0d05\u0005`\u0000\u0000\u0d05\u0d0a\u0003\u01e6"+
54149 "\u00f3\u0000\u0d06\u0d07\u0005%\u0000\u0000\u0d07\u0d09\u0003\u01e6\u00f3"+
54150 "\u0000\u0d08\u0d06\u0001\u0000\u0000\u0000\u0d09\u0d0c\u0001\u0000\u0000"+
54151 "\u0000\u0d0a\u0d08\u0001\u0000\u0000\u0000\u0d0a\u0d0b\u0001\u0000\u0000"+
54152 "\u0000\u0d0b\u0d0e\u0001\u0000\u0000\u0000\u0d0c\u0d0a\u0001\u0000\u0000"+
54153 "\u0000\u0d0d\u0d03\u0001\u0000\u0000\u0000\u0d0d\u0d0e\u0001\u0000\u0000"+
54154 "\u0000\u0d0e\u01ef\u0001\u0000\u0000\u0000\u0d0f\u0d19\u0005\u00cb\u0000"+
54155 "\u0000\u0d10\u0d15\u0003\u01f2\u00f9\u0000\u0d11\u0d12\u0005%\u0000\u0000"+
54156 "\u0d12\u0d14\u0003\u01f2\u00f9\u0000\u0d13\u0d11\u0001\u0000\u0000\u0000"+
54157 "\u0d14\u0d17\u0001\u0000\u0000\u0000\u0d15\u0d13\u0001\u0000\u0000\u0000"+
54158 "\u0d15\u0d16\u0001\u0000\u0000\u0000\u0d16\u0d1a\u0001\u0000\u0000\u0000"+
54159 "\u0d17\u0d15\u0001\u0000\u0000\u0000\u0d18\u0d1a\u0003\u01f4\u00fa\u0000"+
54160 "\u0d19\u0d10\u0001\u0000\u0000\u0000\u0d19\u0d18\u0001\u0000\u0000\u0000"+
54161 "\u0d1a\u01f1\u0001\u0000\u0000\u0000\u0d1b\u0d1d\u0003\u00d0h\u0000\u0d1c"+
54162 "\u0d1e\u0005_\u0000\u0000\u0d1d\u0d1c\u0001\u0000\u0000\u0000\u0d1d\u0d1e"+
54163 "\u0001\u0000\u0000\u0000\u0d1e\u0d1f\u0001\u0000\u0000\u0000\u0d1f\u0d22"+
54164 "\u0003\u0094J\u0000\u0d20\u0d21\u0005\u0018\u0000\u0000\u0d21\u0d23\u0003"+
54165 "r9\u0000\u0d22\u0d20\u0001\u0000\u0000\u0000\u0d22\u0d23\u0001\u0000\u0000"+
54166 "\u0000\u0d23\u0d28\u0001\u0000\u0000\u0000\u0d24\u0d25\u0003\u00d0h\u0000"+
54167 "\u0d25\u0d26\u0005\u00cc\u0000\u0000\u0d26\u0d28\u0001\u0000\u0000\u0000"+
54168 "\u0d27\u0d1b\u0001\u0000\u0000\u0000\u0d27\u0d24\u0001\u0000\u0000\u0000"+
54169 "\u0d28\u01f3\u0001\u0000\u0000\u0000\u0d29\u0d2b\u0003\u00d0h\u0000\u0d2a"+
54170 "\u0d2c\u0005_\u0000\u0000\u0d2b\u0d2a\u0001\u0000\u0000\u0000\u0d2b\u0d2c"+
54171 "\u0001\u0000\u0000\u0000\u0d2c\u0d2d\u0001\u0000\u0000\u0000\u0d2d\u0d2e"+
54172 "\u0003\u01f6\u00fb\u0000\u0d2e\u01f5\u0001\u0000\u0000\u0000\u0d2f\u0d30"+
54173 "\u0005;\u0000\u0000\u0d30\u0d31\u0005\u001f\u0000\u0000\u0d31\u0d36\u0003"+
54174 "\u01f8\u00fc\u0000\u0d32\u0d33\u0005%\u0000\u0000\u0d33\u0d35\u0003\u01f8"+
54175 "\u00fc\u0000\u0d34\u0d32\u0001\u0000\u0000\u0000\u0d35\u0d38\u0001\u0000"+
54176 "\u0000\u0000\u0d36\u0d34\u0001\u0000\u0000\u0000\u0d36\u0d37\u0001\u0000"+
54177 "\u0000\u0000\u0d37\u0d39\u0001\u0000\u0000\u0000\u0d38\u0d36\u0001\u0000"+
54178 "\u0000\u0000\u0d39\u0d3a\u0005 \u0000\u0000\u0d3a\u01f7\u0001\u0000\u0000"+
54179 "\u0000\u0d3b\u0d3e\u0003\u01fa\u00fd\u0000\u0d3c\u0d3e\u0003\u01fe\u00ff"+
54180 "\u0000\u0d3d\u0d3b\u0001\u0000\u0000\u0000\u0d3d\u0d3c\u0001\u0000\u0000"+
54181 "\u0000\u0d3e\u01f9\u0001\u0000\u0000\u0000\u0d3f\u0d43\u0003H$\u0000\u0d40"+
54182 "\u0d44\u0003\u0096K\u0000\u0d41\u0d42\u0005_\u0000\u0000\u0d42\u0d44\u0003"+
54183 "b1\u0000\u0d43\u0d40\u0001\u0000\u0000\u0000\u0d43\u0d41\u0001\u0000\u0000"+
54184 "\u0000\u0d44\u0d47\u0001\u0000\u0000\u0000\u0d45\u0d46\u0005\u00f3\u0000"+
54185 "\u0000\u0d46\u0d48\u0003Z-\u0000\u0d47\u0d45\u0001\u0000\u0000\u0000\u0d47"+
54186 "\u0d48\u0001\u0000\u0000\u0000\u0d48\u0d55\u0001\u0000\u0000\u0000\u0d49"+
54187 "\u0d4a\u0005\u0098\u0000\u0000\u0d4a\u0d4c\u0003b1\u0000\u0d4b\u0d49\u0001"+
54188 "\u0000\u0000\u0000\u0d4b\u0d4c\u0001\u0000\u0000\u0000\u0d4c\u0d56\u0001"+
54189 "\u0000\u0000\u0000\u0d4d\u0d53\u0005\u0109\u0000\u0000\u0d4e\u0d4f\u0005"+
54190 "\u001f\u0000\u0000\u0d4f\u0d50\u0005\u02af\u0000\u0000\u0d50\u0d51\u0005"+
54191 "%\u0000\u0000\u0d51\u0d52\u0005\u02af\u0000\u0000\u0d52\u0d54\u0005 \u0000"+
54192 "\u0000\u0d53\u0d4e\u0001\u0000\u0000\u0000\u0d53\u0d54\u0001\u0000\u0000"+
54193 "\u0000\u0d54\u0d56\u0001\u0000\u0000\u0000\u0d55\u0d4b\u0001\u0000\u0000"+
54194 "\u0000\u0d55\u0d4d\u0001\u0000\u0000\u0000\u0d56\u0d58\u0001\u0000\u0000"+
54195 "\u0000\u0d57\u0d59\u0005\u0123\u0000\u0000\u0d58\u0d57\u0001\u0000\u0000"+
54196 "\u0000\u0d58\u0d59\u0001\u0000\u0000\u0000\u0d59\u0d5a\u0001\u0000\u0000"+
54197 "\u0000\u0d5a\u0d5b\u0003\u01fc\u00fe\u0000\u0d5b\u01fb\u0001\u0000\u0000"+
54198 "\u0000\u0d5c\u0d60\u0005j\u0000\u0000\u0d5d\u0d5e\u0005i\u0000\u0000\u0d5e"+
54199 "\u0d60\u0005j\u0000\u0000\u0d5f\u0d5c\u0001\u0000\u0000\u0000\u0d5f\u0d5d"+
54200 "\u0001\u0000\u0000\u0000\u0d5f\u0d60\u0001\u0000\u0000\u0000\u0d60\u0d6e"+
54201 "\u0001\u0000\u0000\u0000\u0d61\u0d62\u0005?\u0000\u0000\u0d62\u0d65\u0005"+
54202 "B\u0000\u0000\u0d63\u0d65\u0005@\u0000\u0000\u0d64\u0d61\u0001\u0000\u0000"+
54203 "\u0000\u0d64\u0d63\u0001\u0000\u0000\u0000\u0d64\u0d65\u0001\u0000\u0000"+
54204 "\u0000\u0d65\u0d6e\u0001\u0000\u0000\u0000\u0d66\u0d67\u0005\u00e3\u0000"+
54205 "\u0000\u0d67\u0d68\u0005\u001f\u0000\u0000\u0d68\u0d69\u0003b1\u0000\u0d69"+
54206 "\u0d6a\u0005 \u0000\u0000\u0d6a\u0d6e\u0001\u0000\u0000\u0000\u0d6b\u0d6c"+
54207 "\u0005L\u0000\u0000\u0d6c\u0d6e\u0003\u00b2Y\u0000\u0d6d\u0d5f\u0001\u0000"+
54208 "\u0000\u0000\u0d6d\u0d64\u0001\u0000\u0000\u0000\u0d6d\u0d66\u0001\u0000"+
54209 "\u0000\u0000\u0d6d\u0d6b\u0001\u0000\u0000\u0000\u0d6e\u01fd\u0001\u0000"+
54210 "\u0000\u0000\u0d6f\u0d70\u0005?\u0000\u0000\u0d70\u0d73\u0005B\u0000\u0000"+
54211 "\u0d71\u0d73\u0005@\u0000\u0000\u0d72\u0d6f\u0001\u0000\u0000\u0000\u0d72"+
54212 "\u0d71\u0001\u0000\u0000\u0000\u0d73\u0d74\u0001\u0000\u0000\u0000\u0d74"+
54213 "\u0d75\u0005\u001f\u0000\u0000\u0d75\u0d7a\u0003H$\u0000\u0d76\u0d77\u0005"+
54214 "%\u0000\u0000\u0d77\u0d79\u0003H$\u0000\u0d78\u0d76\u0001\u0000\u0000"+
54215 "\u0000\u0d79\u0d7c\u0001\u0000\u0000\u0000\u0d7a\u0d78\u0001\u0000\u0000"+
54216 "\u0000\u0d7a\u0d7b\u0001\u0000\u0000\u0000\u0d7b\u0d7d\u0001\u0000\u0000"+
54217 "\u0000\u0d7c\u0d7a\u0001\u0000\u0000\u0000\u0d7d\u0d7e\u0005 \u0000\u0000"+
54218 "\u0d7e\u0d82\u0001\u0000\u0000\u0000\u0d7f\u0d80\u0005\u00e3\u0000\u0000"+
54219 "\u0d80\u0d82\u0003b1\u0000\u0d81\u0d72\u0001\u0000\u0000\u0000\u0d81\u0d7f"+
54220 "\u0001\u0000\u0000\u0000\u0d82\u01ff\u0001\u0000\u0000\u0000\u0d83\u0d84"+
54221 "\u0005:\u0000\u0000\u0d84\u0d85\u0003\u00d0h\u0000\u0d85\u0d86\u0003\u0202"+
54222 "\u0101\u0000\u0d86\u0201\u0001\u0000\u0000\u0000\u0d87\u0d88\u0005\u0014"+
54223 "\u0000\u0000\u0d88\u0d8a\u0003*\u0015\u0000\u0d89\u0d87\u0001\u0000\u0000"+
54224 "\u0000\u0d89\u0d8a\u0001\u0000\u0000\u0000\u0d8a\u0d8b\u0001\u0000\u0000"+
54225 "\u0000\u0d8b\u0d92\u0005\u0018\u0000\u0000\u0d8c\u0d93\u0003b1\u0000\u0d8d"+
54226 "\u0d8e\u0003*\u0015\u0000\u0d8e\u0d8f\u0005\u0014\u0000\u0000\u0d8f\u0d90"+
54227 "\u0003*\u0015\u0000\u0d90\u0d93\u0001\u0000\u0000\u0000\u0d91\u0d93\u0005"+
54228 "\u02b5\u0000\u0000\u0d92\u0d8c\u0001\u0000\u0000\u0000\u0d92\u0d8d\u0001"+
54229 "\u0000\u0000\u0000\u0d92\u0d91\u0001\u0000\u0000\u0000\u0d93\u0d9f\u0001"+
54230 "\u0000\u0000\u0000\u0d94\u0d95\u0003\u0208\u0104\u0000\u0d95\u0d96\u0003"+
54231 "b1\u0000\u0d96\u0d9f\u0001\u0000\u0000\u0000\u0d97\u0d98\u0005\u0018\u0000"+
54232 "\u0000\u0d98\u0d9f\u0003\u0204\u0102\u0000\u0d99\u0d9a\u0005\u0018\u0000"+
54233 "\u0000\u0d9a\u0d9b\u0005\u001f\u0000\u0000\u0d9b\u0d9c\u0003\u02ae\u0157"+
54234 "\u0000\u0d9c\u0d9d\u0005 \u0000\u0000\u0d9d\u0d9f\u0001\u0000\u0000\u0000"+
54235 "\u0d9e\u0d89\u0001\u0000\u0000\u0000\u0d9e\u0d94\u0001\u0000\u0000\u0000"+
54236 "\u0d9e\u0d97\u0001\u0000\u0000\u0000\u0d9e\u0d99\u0001\u0000\u0000\u0000"+
54237 "\u0d9f\u0203\u0001\u0000\u0000\u0000\u0da0\u0db4\u0003\u00d0h\u0000\u0da1"+
54238 "\u0da2\u0005\u00cc\u0000\u0000\u0da2\u0da3\u0003\u0206\u0103\u0000\u0da3"+
54239 "\u0da4\u0005d\u0000\u0000\u0da4\u0da5\u0003\u02ae\u0157\u0000\u0da5\u0db1"+
54240 "\u0005d\u0000\u0000\u0da6\u0db2\u0005\u00c9\u0000\u0000\u0da7\u0da8\u0005"+
54241 "0\u0000\u0000\u0da8\u0da9\u0005\u00cd\u0000\u0000\u0da9\u0dae\u0003N\'"+
54242 "\u0000\u0daa\u0dab\u0005%\u0000\u0000\u0dab\u0dad\u0003N\'\u0000\u0dac"+
54243 "\u0daa\u0001\u0000\u0000\u0000\u0dad\u0db0\u0001\u0000\u0000\u0000\u0dae"+
54244 "\u0dac\u0001\u0000\u0000\u0000\u0dae\u0daf\u0001\u0000\u0000\u0000\u0daf"+
54245 "\u0db2\u0001\u0000\u0000\u0000\u0db0\u0dae\u0001\u0000\u0000\u0000\u0db1"+
54246 "\u0da6\u0001\u0000\u0000\u0000\u0db1\u0da7\u0001\u0000\u0000\u0000\u0db2"+
54247 "\u0db4\u0001\u0000\u0000\u0000\u0db3\u0da0\u0001\u0000\u0000\u0000\u0db3"+
54248 "\u0da1\u0001\u0000\u0000\u0000\u0db4\u0205\u0001\u0000\u0000\u0000\u0db5"+
54249 "\u0db7\u0007.\u0000\u0000\u0db6\u0db5\u0001\u0000\u0000\u0000\u0db6\u0db7"+
54250 "\u0001\u0000\u0000\u0000\u0db7\u0db9\u0001\u0000\u0000\u0000\u0db8\u0dba"+
54251 "\u0007/\u0000\u0000\u0db9\u0db8\u0001\u0000\u0000\u0000\u0db9\u0dba\u0001"+
54252 "\u0000\u0000\u0000\u0dba\u0dbc\u0001\u0000\u0000\u0000\u0dbb\u0dbd\u0007"+
54253 "0\u0000\u0000\u0dbc\u0dbb\u0001\u0000\u0000\u0000\u0dbc\u0dbd\u0001\u0000"+
54254 "\u0000\u0000\u0dbd\u0dbf\u0001\u0000\u0000\u0000\u0dbe\u0dc0\u0005\u01f5"+
54255 "\u0000\u0000\u0dbf\u0dbe\u0001\u0000\u0000\u0000\u0dbf\u0dc0\u0001\u0000"+
54256 "\u0000\u0000\u0dc0\u0207\u0001\u0000\u0000\u0000\u0dc1\u0dc2\u0005\u000f"+
54257 "\u0000\u0000\u0dc2\u0dd2\u0005\u0018\u0000\u0000\u0dc3\u0dc4\u0005\u0010"+
54258 "\u0000\u0000\u0dc4\u0dd2\u0005\u0018\u0000\u0000\u0dc5\u0dc6\u0005\u0011"+
54259 "\u0000\u0000\u0dc6\u0dd2\u0005\u0018\u0000\u0000\u0dc7\u0dc8\u0005\u0012"+
54260 "\u0000\u0000\u0dc8\u0dd2\u0005\u0018\u0000\u0000\u0dc9\u0dca\u0005\r\u0000"+
54261 "\u0000\u0dca\u0dd2\u0005\u0018\u0000\u0000\u0dcb\u0dcc\u0005\t\u0000\u0000"+
54262 "\u0dcc\u0dd2\u0005\u0018\u0000\u0000\u0dcd\u0dce\u0005\f\u0000\u0000\u0dce"+
54263 "\u0dd2\u0005\u0018\u0000\u0000\u0dcf\u0dd0\u0005\b\u0000\u0000\u0dd0\u0dd2"+
54264 "\u0005\u0018\u0000\u0000\u0dd1\u0dc1\u0001\u0000\u0000\u0000\u0dd1\u0dc3"+
54265 "\u0001\u0000\u0000\u0000\u0dd1\u0dc5\u0001\u0000\u0000\u0000\u0dd1\u0dc7"+
54266 "\u0001\u0000\u0000\u0000\u0dd1\u0dc9\u0001\u0000\u0000\u0000\u0dd1\u0dcb"+
54267 "\u0001\u0000\u0000\u0000\u0dd1\u0dcd\u0001\u0000\u0000\u0000\u0dd1\u0dcf"+
54268 "\u0001\u0000\u0000\u0000\u0dd2\u0209\u0001\u0000\u0000\u0000\u0dd3\u0de7"+
54269 "\u0005\u001f\u0000\u0000\u0dd4\u0dd6\u0003\u00d0h\u0000\u0dd5\u0dd7\u0005"+
54270 "_\u0000\u0000\u0dd6\u0dd5\u0001\u0000\u0000\u0000\u0dd6\u0dd7\u0001\u0000"+
54271 "\u0000\u0000\u0dd7\u0ddb\u0001\u0000\u0000\u0000\u0dd8\u0dd9\u0003L&\u0000"+
54272 "\u0dd9\u0dda\u0005\u0014\u0000\u0000\u0dda\u0ddc\u0001\u0000\u0000\u0000"+
54273 "\u0ddb\u0dd8\u0001\u0000\u0000\u0000\u0ddb\u0ddc\u0001\u0000\u0000\u0000"+
54274 "\u0ddc\u0ddd\u0001\u0000\u0000\u0000\u0ddd\u0de0\u0003\u0094J\u0000\u0dde"+
54275 "\u0ddf\u0005\u0018\u0000\u0000\u0ddf\u0de1\u0003\u00cae\u0000\u0de0\u0dde"+
54276 "\u0001\u0000\u0000\u0000\u0de0\u0de1\u0001\u0000\u0000\u0000\u0de1\u0de3"+
54277 "\u0001\u0000\u0000\u0000\u0de2\u0de4\u0005\u00d1\u0000\u0000\u0de3\u0de2"+
54278 "\u0001\u0000\u0000\u0000\u0de3\u0de4\u0001\u0000\u0000\u0000\u0de4\u0de6"+
54279 "\u0001\u0000\u0000\u0000\u0de5\u0dd4\u0001\u0000\u0000\u0000\u0de6\u0de9"+
54280 "\u0001\u0000\u0000\u0000\u0de7\u0de5\u0001\u0000\u0000\u0000\u0de7\u0de8"+
54281 "\u0001\u0000\u0000\u0000\u0de8\u0dea\u0001\u0000\u0000\u0000\u0de9\u0de7"+
54282 "\u0001\u0000\u0000\u0000\u0dea\u0deb\u0005 \u0000\u0000\u0deb\u020b\u0001"+
54283 "\u0000\u0000\u0000\u0dec\u0df0\u0003\u0212\u0109\u0000\u0ded\u0df0\u0003"+
54284 "\u0210\u0108\u0000\u0dee\u0df0\u0003\u020e\u0107\u0000\u0def\u0dec\u0001"+
54285 "\u0000\u0000\u0000\u0def\u0ded\u0001\u0000\u0000\u0000\u0def\u0dee\u0001"+
54286 "\u0000\u0000\u0000\u0df0\u020d\u0001\u0000\u0000\u0000\u0df1\u0df2\u0005"+
54287 "\u00ce\u0000\u0000\u0df2\u0df3\u0003\u00d0h\u0000\u0df3\u0df4\u0005;\u0000"+
54288 "\u0000\u0df4\u0dfe\u0003\u012a\u0095\u0000\u0df5\u0df6\u0005L\u0000\u0000"+
54289 "\u0df6\u0dfb\u0003\u0218\u010c\u0000\u0df7\u0df8\u0005%\u0000\u0000\u0df8"+
54290 "\u0dfa\u0003\u0218\u010c\u0000\u0df9\u0df7\u0001\u0000\u0000\u0000\u0dfa"+
54291 "\u0dfd\u0001\u0000\u0000\u0000\u0dfb\u0df9\u0001\u0000\u0000\u0000\u0dfb"+
54292 "\u0dfc\u0001\u0000\u0000\u0000\u0dfc\u0dff\u0001\u0000\u0000\u0000\u0dfd"+
54293 "\u0dfb\u0001\u0000\u0000\u0000\u0dfe\u0df5\u0001\u0000\u0000\u0000\u0dfe"+
54294 "\u0dff\u0001\u0000\u0000\u0000\u0dff\u0e01\u0001\u0000\u0000\u0000\u0e00"+
54295 "\u0e02\u0005_\u0000\u0000\u0e01\u0e00\u0001\u0000\u0000\u0000\u0e01\u0e02"+
54296 "\u0001\u0000\u0000\u0000\u0e02\u0e03\u0001\u0000\u0000\u0000\u0e03\u0e04"+
54297 "\u0005{\u0000\u0000\u0e04\u0e05\u0003\u0216\u010b\u0000\u0e05\u0e06\u0005"+
54298 "\u00d0\u0000\u0000\u0e06\u0e07\u0005\u0102\u0000\u0000\u0e07\u020f\u0001"+
54299 "\u0000\u0000\u0000\u0e08\u0e09\u0005\u00ce\u0000\u0000\u0e09\u0e13\u0005"+
54300 ";\u0000\u0000\u0e0a\u0e0b\u0005L\u0000\u0000\u0e0b\u0e10\u0003\u0218\u010c"+
54301 "\u0000\u0e0c\u0e0d\u0005%\u0000\u0000\u0e0d\u0e0f\u0003\u0218\u010c\u0000"+
54302 "\u0e0e\u0e0c\u0001\u0000\u0000\u0000\u0e0f\u0e12\u0001\u0000\u0000\u0000"+
54303 "\u0e10\u0e0e\u0001\u0000\u0000\u0000\u0e10\u0e11\u0001\u0000\u0000\u0000"+
54304 "\u0e11\u0e14\u0001\u0000\u0000\u0000\u0e12\u0e10\u0001\u0000\u0000\u0000"+
54305 "\u0e13\u0e0a\u0001\u0000\u0000\u0000\u0e13\u0e14\u0001\u0000\u0000\u0000"+
54306 "\u0e14\u0e16\u0001\u0000\u0000\u0000\u0e15\u0e17\u0005_\u0000\u0000\u0e16"+
54307 "\u0e15\u0001\u0000\u0000\u0000\u0e16\u0e17\u0001\u0000\u0000\u0000\u0e17"+
54308 "\u0e18\u0001\u0000\u0000\u0000\u0e18\u0e1a\u0005\u00d0\u0000\u0000\u0e19"+
54309 "\u0e1b\u0005\u001f\u0000\u0000\u0e1a\u0e19\u0001\u0000\u0000\u0000\u0e1a"+
54310 "\u0e1b\u0001\u0000\u0000\u0000\u0e1b\u0e1c\u0001\u0000\u0000\u0000\u0e1c"+
54311 "\u0e1e\u0003\u02ae\u0157\u0000\u0e1d\u0e1f\u0005 \u0000\u0000\u0e1e\u0e1d"+
54312 "\u0001\u0000\u0000\u0000\u0e1e\u0e1f\u0001\u0000\u0000\u0000\u0e1f\u0211"+
54313 "\u0001\u0000\u0000\u0000\u0e20\u0e21\u0005\u00ce\u0000\u0000\u0e21\u0e2b"+
54314 "\u0003\u0094J\u0000\u0e22\u0e23\u0005L\u0000\u0000\u0e23\u0e28\u0003\u0218"+
54315 "\u010c\u0000\u0e24\u0e25\u0005%\u0000\u0000\u0e25\u0e27\u0003\u0218\u010c"+
54316 "\u0000\u0e26\u0e24\u0001\u0000\u0000\u0000\u0e27\u0e2a\u0001\u0000\u0000"+
54317 "\u0000\u0e28\u0e26\u0001\u0000\u0000\u0000\u0e28\u0e29\u0001\u0000\u0000"+
54318 "\u0000\u0e29\u0e2c\u0001\u0000\u0000\u0000\u0e2a\u0e28\u0001\u0000\u0000"+
54319 "\u0000\u0e2b\u0e22\u0001\u0000\u0000\u0000\u0e2b\u0e2c\u0001\u0000\u0000"+
54320 "\u0000\u0e2c\u0e2e\u0001\u0000\u0000\u0000\u0e2d\u0e2f\u0005_\u0000\u0000"+
54321 "\u0e2e\u0e2d\u0001\u0000\u0000\u0000\u0e2e\u0e2f\u0001\u0000\u0000\u0000"+
54322 "\u0e2f\u0e30\u0001\u0000\u0000\u0000\u0e30\u0e31\u0005{\u0000\u0000\u0e31"+
54323 "\u0e32\u0003\u0216\u010b\u0000\u0e32\u0e33\u0005\u00d0\u0000\u0000\u0e33"+
54324 "\u0e34\u0003b1\u0000\u0e34\u0213\u0001\u0000\u0000\u0000\u0e35\u0e36\u0003"+
54325 "\u012e\u0097\u0000\u0e36\u0e37\u0003\u0134\u009a\u0000\u0e37\u0e3a\u0001"+
54326 "\u0000\u0000\u0000\u0e38\u0e3a\u0003\u0164\u00b2\u0000\u0e39\u0e35\u0001"+
54327 "\u0000\u0000\u0000\u0e39\u0e38\u0001\u0000\u0000\u0000\u0e3a\u0e3e\u0001"+
54328 "\u0000\u0000\u0000\u0e3b\u0e3d\u0003\u0168\u00b4\u0000\u0e3c\u0e3b\u0001"+
54329 "\u0000\u0000\u0000\u0e3d\u0e40\u0001\u0000\u0000\u0000\u0e3e\u0e3c\u0001"+
54330 "\u0000\u0000\u0000\u0e3e\u0e3f\u0001\u0000\u0000\u0000\u0e3f\u0215\u0001"+
54331 "\u0000\u0000\u0000\u0e40\u0e3e\u0001\u0000\u0000\u0000\u0e41\u0e43\u0003"+
54332 "\u021a\u010d\u0000\u0e42\u0e41\u0001\u0000\u0000\u0000\u0e43\u0e46\u0001"+
54333 "\u0000\u0000\u0000\u0e44\u0e42\u0001\u0000\u0000\u0000\u0e44\u0e45\u0001"+
54334 "\u0000\u0000\u0000\u0e45\u0217\u0001\u0000\u0000\u0000\u0e46\u0e44\u0001"+
54335 "\u0000\u0000\u0000\u0e47\u0e49\u0005\u015b\u0000\u0000\u0e48\u0e47\u0001"+
54336 "\u0000\u0000\u0000\u0e48\u0e49\u0001\u0000\u0000\u0000\u0e49\u0e61\u0001"+
54337 "\u0000\u0000\u0000\u0e4a\u0e4c\u0005\u01f6\u0000\u0000\u0e4b\u0e4a\u0001"+
54338 "\u0000\u0000\u0000\u0e4b\u0e4c\u0001\u0000\u0000\u0000\u0e4c\u0e61\u0001"+
54339 "\u0000\u0000\u0000\u0e4d\u0e4e\u0005\u00ce\u0000\u0000\u0e4e\u0e4f\u0005"+
54340 "j\u0000\u0000\u0e4f\u0e50\u0005`\u0000\u0000\u0e50\u0e51\u0005j\u0000"+
54341 "\u0000\u0e51\u0e57\u0005\u01f8\u0000\u0000\u0e52\u0e53\u0005\u01f9\u0000"+
54342 "\u0000\u0e53\u0e54\u0005`\u0000\u0000\u0e54\u0e55\u0005j\u0000\u0000\u0e55"+
54343 "\u0e57\u0005\u01f8\u0000\u0000\u0e56\u0e4d\u0001\u0000\u0000\u0000\u0e56"+
54344 "\u0e52\u0001\u0000\u0000\u0000\u0e56\u0e57\u0001\u0000\u0000\u0000\u0e57"+
54345 "\u0e61\u0001\u0000\u0000\u0000\u0e58\u0e5a\u0003\u00d2i\u0000\u0e59\u0e58"+
54346 "\u0001\u0000\u0000\u0000\u0e59\u0e5a\u0001\u0000\u0000\u0000\u0e5a\u0e61"+
54347 "\u0001\u0000\u0000\u0000\u0e5b\u0e5c\u0005\u0278\u0000\u0000\u0e5c\u0e5d"+
54348 "\u0005\u0018\u0000\u0000\u0e5d\u0e5f\u0007\u0000\u0000\u0000\u0e5e\u0e5b"+
54349 "\u0001\u0000\u0000\u0000\u0e5e\u0e5f\u0001\u0000\u0000\u0000\u0e5f\u0e61"+
54350 "\u0001\u0000\u0000\u0000\u0e60\u0e48\u0001\u0000\u0000\u0000\u0e60\u0e4b"+
54351 "\u0001\u0000\u0000\u0000\u0e60\u0e56\u0001\u0000\u0000\u0000\u0e60\u0e59"+
54352 "\u0001\u0000\u0000\u0000\u0e60\u0e5e\u0001\u0000\u0000\u0000\u0e61\u0219"+
54353 "\u0001\u0000\u0000\u0000\u0e62\u0e6d\u0003\u00e6s\u0000\u0e63\u0e6d\u0003"+
54354 "\u00fc~\u0000\u0e64\u0e6d\u0003\u0110\u0088\u0000\u0e65\u0e6d\u0003\u0124"+
54355 "\u0092\u0000\u0e66\u0e6d\u0003\u0294\u014a\u0000\u0e67\u0e6d\u0003\u029c"+
54356 "\u014e\u0000\u0e68\u0e6d\u0003\u02a6\u0153\u0000\u0e69\u0e6d\u0003\u02ae"+
54357 "\u0157\u0000\u0e6a\u0e6d\u0003\u0200\u0100\u0000\u0e6b\u0e6d\u0003\u01f0"+
54358 "\u00f8\u0000\u0e6c\u0e62\u0001\u0000\u0000\u0000\u0e6c\u0e63\u0001\u0000"+
54359 "\u0000\u0000\u0e6c\u0e64\u0001\u0000\u0000\u0000\u0e6c\u0e65\u0001\u0000"+
54360 "\u0000\u0000\u0e6c\u0e66\u0001\u0000\u0000\u0000\u0e6c\u0e67\u0001\u0000"+
54361 "\u0000\u0000\u0e6c\u0e68\u0001\u0000\u0000\u0000\u0e6c\u0e69\u0001\u0000"+
54362 "\u0000\u0000\u0e6c\u0e6a\u0001\u0000\u0000\u0000\u0e6c\u0e6b\u0001\u0000"+
54363 "\u0000\u0000\u0e6d\u0e6f\u0001\u0000\u0000\u0000\u0e6e\u0e70\u0005+\u0000"+
54364 "\u0000\u0e6f\u0e6e\u0001\u0000\u0000\u0000\u0e6f\u0e70\u0001\u0000\u0000"+
54365 "\u0000\u0e70\u021b\u0001\u0000\u0000\u0000\u0e71\u0e76\u0003\u021e\u010f"+
54366 "\u0000\u0e72\u0e73\u0005%\u0000\u0000\u0e73\u0e75\u0003\u021e\u010f\u0000"+
54367 "\u0e74\u0e72\u0001\u0000\u0000\u0000\u0e75\u0e78\u0001\u0000\u0000\u0000"+
54368 "\u0e76\u0e74\u0001\u0000\u0000\u0000\u0e76\u0e77\u0001\u0000\u0000\u0000"+
54369 "\u0e77\u0e7a\u0001\u0000\u0000\u0000\u0e78\u0e76\u0001\u0000\u0000\u0000"+
54370 "\u0e79\u0e71\u0001\u0000\u0000\u0000\u0e79\u0e7a\u0001\u0000\u0000\u0000"+
54371 "\u0e7a\u021d\u0001\u0000\u0000\u0000\u0e7b\u0e7d\u0003\u01f2\u00f9\u0000"+
54372 "\u0e7c\u0e7e\u0005\u01fa\u0000\u0000\u0e7d\u0e7c\u0001\u0000\u0000\u0000"+
54373 "\u0e7d\u0e7e\u0001\u0000\u0000\u0000\u0e7e\u0e81\u0001\u0000\u0000\u0000"+
54374 "\u0e7f\u0e80\u0005\u0018\u0000\u0000\u0e80\u0e82\u0003\u001a\r\u0000\u0e81"+
54375 "\u0e7f\u0001\u0000\u0000\u0000\u0e81\u0e82\u0001\u0000\u0000\u0000\u0e82"+
54376 "\u0e84\u0001\u0000\u0000\u0000\u0e83\u0e85\u00071\u0000\u0000\u0e84\u0e83"+
54377 "\u0001\u0000\u0000\u0000\u0e84\u0e85\u0001\u0000\u0000\u0000\u0e85\u021f"+
54378 "\u0001\u0000\u0000\u0000\u0e86\u0e88\u0003\u0222\u0111\u0000\u0e87\u0e86"+
54379 "\u0001\u0000\u0000\u0000\u0e87\u0e88\u0001\u0000\u0000\u0000\u0e88\u0e8b"+
54380 "\u0001\u0000\u0000\u0000\u0e89\u0e8a\u0005d\u0000\u0000\u0e8a\u0e8c\u0005"+
54381 "\u0121\u0000\u0000\u0e8b\u0e89\u0001\u0000\u0000\u0000\u0e8b\u0e8c\u0001"+
54382 "\u0000\u0000\u0000\u0e8c\u0e8d\u0001\u0000\u0000\u0000\u0e8d\u0e8e\u0005"+
54383 "_\u0000\u0000\u0e8e\u0e8f\u0003\u0226\u0113\u0000\u0e8f\u0221\u0001\u0000"+
54384 "\u0000\u0000\u0e90\u0e99\u0005L\u0000\u0000\u0e91\u0e96\u0003\u0224\u0112"+
54385 "\u0000\u0e92\u0e93\u0005%\u0000\u0000\u0e93\u0e95\u0003\u0224\u0112\u0000"+
54386 "\u0e94\u0e92\u0001\u0000\u0000\u0000\u0e95\u0e98\u0001\u0000\u0000\u0000"+
54387 "\u0e96\u0e94\u0001\u0000\u0000\u0000\u0e96\u0e97\u0001\u0000\u0000\u0000"+
54388 "\u0e97\u0e9a\u0001\u0000\u0000\u0000\u0e98\u0e96\u0001\u0000\u0000\u0000"+
54389 "\u0e99\u0e91\u0001\u0000\u0000\u0000\u0e99\u0e9a\u0001\u0000\u0000\u0000"+
54390 "\u0e9a\u0223\u0001\u0000\u0000\u0000\u0e9b\u0ea1\u0005\u015b\u0000\u0000"+
54391 "\u0e9c\u0ea1\u0005\u01d6\u0000\u0000\u0e9d\u0ea1\u0003\u00d2i\u0000\u0e9e"+
54392 "\u0ea1\u0005\u0205\u0000\u0000\u0e9f\u0ea1\u0005\u01f6\u0000\u0000\u0ea0"+
54393 "\u0e9b\u0001\u0000\u0000\u0000\u0ea0\u0e9c\u0001\u0000\u0000\u0000\u0ea0"+
54394 "\u0e9d\u0001\u0000\u0000\u0000\u0ea0\u0e9e\u0001\u0000\u0000\u0000\u0ea0"+
54395 "\u0e9f\u0001\u0000\u0000\u0000\u0ea1\u0225\u0001\u0000\u0000\u0000\u0ea2"+
54396 "\u0ea4\u0005{\u0000\u0000\u0ea3\u0ea2\u0001\u0000\u0000\u0000\u0ea3\u0ea4"+
54397 "\u0001\u0000\u0000\u0000\u0ea4\u0ea5\u0001\u0000\u0000\u0000\u0ea5\u0ea7"+
54398 "\u0003\u0216\u010b\u0000\u0ea6\u0ea8\u0005\u0102\u0000\u0000\u0ea7\u0ea6"+
54399 "\u0001\u0000\u0000\u0000\u0ea7\u0ea8\u0001\u0000\u0000\u0000\u0ea8\u0ec6"+
54400 "\u0001\u0000\u0000\u0000\u0ea9\u0eaa\u0005\u014e\u0000\u0000\u0eaa\u0eae"+
54401 "\u0005\u00a8\u0000\u0000\u0eab\u0eac\u0003L&\u0000\u0eac\u0ead\u0005\u0014"+
54402 "\u0000\u0000\u0ead\u0eaf\u0001\u0000\u0000\u0000\u0eae\u0eab\u0001\u0000"+
54403 "\u0000\u0000\u0eae\u0eaf\u0001\u0000\u0000\u0000\u0eaf\u0eb3\u0001\u0000"+
54404 "\u0000\u0000\u0eb0\u0eb1\u0003L&\u0000\u0eb1\u0eb2\u0005\u0014\u0000\u0000"+
54405 "\u0eb2\u0eb4\u0001\u0000\u0000\u0000\u0eb3\u0eb0\u0001\u0000\u0000\u0000"+
54406 "\u0eb3\u0eb4\u0001\u0000\u0000\u0000\u0eb4\u0eb5\u0001\u0000\u0000\u0000"+
54407 "\u0eb5\u0ec6\u0003N\'\u0000\u0eb6\u0eb7\u0005{\u0000\u0000\u0eb7\u0eb8"+
54408 "\u0005\u01fd\u0000\u0000\u0eb8\u0eb9\u0005L\u0000\u0000\u0eb9\u0ebe\u0003"+
54409 "\u0228\u0114\u0000\u0eba\u0ebb\u0005%\u0000\u0000\u0ebb\u0ebd\u0003\u0228"+
54410 "\u0114\u0000\u0ebc\u0eba\u0001\u0000\u0000\u0000\u0ebd\u0ec0\u0001\u0000"+
54411 "\u0000\u0000\u0ebe\u0ebc\u0001\u0000\u0000\u0000\u0ebe\u0ebf\u0001\u0000"+
54412 "\u0000\u0000\u0ebf\u0ec1\u0001\u0000\u0000\u0000\u0ec0\u0ebe\u0001\u0000"+
54413 "\u0000\u0000\u0ec1\u0ec3\u0003\u0216\u010b\u0000\u0ec2\u0ec4\u0005\u0102"+
54414 "\u0000\u0000\u0ec3\u0ec2\u0001\u0000\u0000\u0000\u0ec3\u0ec4\u0001\u0000"+
54415 "\u0000\u0000\u0ec4\u0ec6\u0001\u0000\u0000\u0000\u0ec5\u0ea3\u0001\u0000"+
54416 "\u0000\u0000\u0ec5\u0ea9\u0001\u0000\u0000\u0000\u0ec5\u0eb6\u0001\u0000"+
54417 "\u0000\u0000\u0ec6\u0227\u0001\u0000\u0000\u0000\u0ec7\u0ec8\u0005\u01fe"+
54418 "\u0000\u0000\u0ec8\u0ec9\u0005\u0018\u0000\u0000\u0ec9\u0ede\u0003\u001c"+
54419 "\u000e\u0000\u0eca\u0ecb\u0005\u00ec\u0000\u0000\u0ecb\u0ecc\u0005\u0200"+
54420 "\u0000\u0000\u0ecc\u0ecd\u0005\u01ff\u0000\u0000\u0ecd\u0ed2\u0005\u0018"+
54421 "\u0000\u0000\u0ece\u0ed3\u0005\u0201\u0000\u0000\u0ecf\u0ed0\u0005\u0202"+
54422 "\u0000\u0000\u0ed0\u0ed3\u0005\u0203\u0000\u0000\u0ed1\u0ed3\u0005\u0204"+
54423 "\u0000\u0000\u0ed2\u0ece\u0001\u0000\u0000\u0000\u0ed2\u0ecf\u0001\u0000"+
54424 "\u0000\u0000\u0ed2\u0ed1\u0001\u0000\u0000\u0000\u0ed3\u0ede\u0001\u0000"+
54425 "\u0000\u0000\u0ed4\u0ed5\u0005\u0271\u0000\u0000\u0ed5\u0ed6\u0005\u0018"+
54426 "\u0000\u0000\u0ed6\u0ede\u0003\u001e\u000f\u0000\u0ed7\u0ed8\u0005\u027e"+
54427 "\u0000\u0000\u0ed8\u0ed9\u0005\u0018\u0000\u0000\u0ed9\u0ede\u0003\u001c"+
54428 "\u000e\u0000\u0eda\u0edb\u0005\u027f\u0000\u0000\u0edb\u0edc\u0005\u0018"+
54429 "\u0000\u0000\u0edc\u0ede\u0007\u0000\u0000\u0000\u0edd\u0ec7\u0001\u0000"+
54430 "\u0000\u0000\u0edd\u0eca\u0001\u0000\u0000\u0000\u0edd\u0ed4\u0001\u0000"+
54431 "\u0000\u0000\u0edd\u0ed7\u0001\u0000\u0000\u0000\u0edd\u0eda\u0001\u0000"+
54432 "\u0000\u0000\u0ede\u0229\u0001\u0000\u0000\u0000\u0edf\u0ee0\u0005L\u0000"+
54433 "\u0000\u0ee0\u0ee5\u0003\u022c\u0116\u0000\u0ee1\u0ee2\u0005%\u0000\u0000"+
54434 "\u0ee2\u0ee4\u0003\u022c\u0116\u0000\u0ee3\u0ee1\u0001\u0000\u0000\u0000"+
54435 "\u0ee4\u0ee7\u0001\u0000\u0000\u0000\u0ee5\u0ee3\u0001\u0000\u0000\u0000"+
54436 "\u0ee5\u0ee6\u0001\u0000\u0000\u0000\u0ee6\u0ee9\u0001\u0000\u0000\u0000"+
54437 "\u0ee7\u0ee5\u0001\u0000\u0000\u0000\u0ee8\u0edf\u0001\u0000\u0000\u0000"+
54438 "\u0ee8\u0ee9\u0001\u0000\u0000\u0000\u0ee9\u0eea\u0001\u0000\u0000\u0000"+
54439 "\u0eea\u0eec\u0005_\u0000\u0000\u0eeb\u0eed\u0003\u022e\u0117\u0000\u0eec"+
54440 "\u0eeb\u0001\u0000\u0000\u0000\u0eec\u0eed\u0001\u0000\u0000\u0000\u0eed"+
54441 "\u0eee\u0001\u0000\u0000\u0000\u0eee\u0ef2\u0003\u02ae\u0157\u0000\u0eef"+
54442 "\u0ef0\u0005L\u0000\u0000\u0ef0\u0ef1\u0005\u00e3\u0000\u0000\u0ef1\u0ef3"+
54443 "\u0005\u00e6\u0000\u0000\u0ef2\u0eef\u0001\u0000\u0000\u0000\u0ef2\u0ef3"+
54444 "\u0001\u0000\u0000\u0000\u0ef3\u022b\u0001\u0000\u0000\u0000\u0ef4\u0ef5"+
54445 "\u00072\u0000\u0000\u0ef5\u022d\u0001\u0000\u0000\u0000\u0ef6\u0ef7\u0005"+
54446 "L\u0000\u0000\u0ef7\u0efc\u0003\u0230\u0118\u0000\u0ef8\u0ef9\u0005%\u0000"+
54447 "\u0000\u0ef9\u0efb\u0003\u0230\u0118\u0000\u0efa\u0ef8\u0001\u0000\u0000"+
54448 "\u0000\u0efb\u0efe\u0001\u0000\u0000\u0000\u0efc\u0efa\u0001\u0000\u0000"+
54449 "\u0000\u0efc\u0efd\u0001\u0000\u0000\u0000\u0efd\u022f\u0001\u0000\u0000"+
54450 "\u0000\u0efe\u0efc\u0001\u0000\u0000\u0000\u0eff\u0f0b\u0003N\'\u0000"+
54451 "\u0f00\u0f01\u0005\u001f\u0000\u0000\u0f01\u0f06\u0003H$\u0000\u0f02\u0f03"+
54452 "\u0005%\u0000\u0000\u0f03\u0f05\u0003H$\u0000\u0f04\u0f02\u0001\u0000"+
54453 "\u0000\u0000\u0f05\u0f08\u0001\u0000\u0000\u0000\u0f06\u0f04\u0001\u0000"+
54454 "\u0000\u0000\u0f06\u0f07\u0001\u0000\u0000\u0000\u0f07\u0f09\u0001\u0000"+
54455 "\u0000\u0000\u0f08\u0f06\u0001\u0000\u0000\u0000\u0f09\u0f0a\u0005 \u0000"+
54456 "\u0000\u0f0a\u0f0c\u0001\u0000\u0000\u0000\u0f0b\u0f00\u0001\u0000\u0000"+
54457 "\u0000\u0f0b\u0f0c\u0001\u0000\u0000\u0000\u0f0c\u0f0d\u0001\u0000\u0000"+
54458 "\u0000\u0f0d\u0f0e\u0005_\u0000\u0000\u0f0e\u0f0f\u0005\u001f\u0000\u0000"+
54459 "\u0f0f\u0f10\u0003\u02ae\u0157\u0000\u0f10\u0f11\u0005 \u0000\u0000\u0f11"+
54460 "\u0231\u0001\u0000\u0000\u0000\u0f12\u0f13\u0005L\u0000\u0000\u0f13\u0f14"+
54461 "\u0003\u0234\u011a\u0000\u0f14\u0f15\u0005%\u0000\u0000\u0f15\u0f16\u0003"+
54462 "\u0234\u011a\u0000\u0f16\u0f18\u0001\u0000\u0000\u0000\u0f17\u0f12\u0001"+
54463 "\u0000\u0000\u0000\u0f17\u0f18\u0001\u0000\u0000\u0000\u0f18\u0f1d\u0001"+
54464 "\u0000\u0000\u0000\u0f19\u0f1e\u0005d\u0000\u0000\u0f1a\u0f1e\u0005\u0207"+
54465 "\u0000\u0000\u0f1b\u0f1c\u0005\u0208\u0000\u0000\u0f1c\u0f1e\u0005\u00cd"+
54466 "\u0000\u0000\u0f1d\u0f19\u0001\u0000\u0000\u0000\u0f1d\u0f1a\u0001\u0000"+
54467 "\u0000\u0000\u0f1d\u0f1b\u0001\u0000\u0000\u0000\u0f1e\u0f20\u0001\u0000"+
54468 "\u0000\u0000\u0f1f\u0f21\u0005/\u0000\u0000\u0f20\u0f1f\u0001\u0000\u0000"+
54469 "\u0000\u0f20\u0f21\u0001\u0000\u0000\u0000\u0f21\u0f23\u0001\u0000\u0000"+
54470 "\u0000\u0f22\u0f24\u0005%\u0000\u0000\u0f23\u0f22\u0001\u0000\u0000\u0000"+
54471 "\u0f23\u0f24\u0001\u0000\u0000\u0000\u0f24\u0f26\u0001\u0000\u0000\u0000"+
54472 "\u0f25\u0f27\u00050\u0000\u0000\u0f26\u0f25\u0001\u0000\u0000\u0000\u0f26"+
54473 "\u0f27\u0001\u0000\u0000\u0000\u0f27\u0f29\u0001\u0000\u0000\u0000\u0f28"+
54474 "\u0f2a\u0005%\u0000\u0000\u0f29\u0f28\u0001\u0000\u0000\u0000\u0f29\u0f2a"+
54475 "\u0001\u0000\u0000\u0000\u0f2a\u0f2c\u0001\u0000\u0000\u0000\u0f2b\u0f2d"+
54476 "\u00051\u0000\u0000\u0f2c\u0f2b\u0001\u0000\u0000\u0000\u0f2c\u0f2d\u0001"+
54477 "\u0000\u0000\u0000\u0f2d\u0f2f\u0001\u0000\u0000\u0000\u0f2e\u0f30\u0005"+
54478 "%\u0000\u0000\u0f2f\u0f2e\u0001\u0000\u0000\u0000\u0f2f\u0f30\u0001\u0000"+
54479 "\u0000\u0000\u0f30\u0f33\u0001\u0000\u0000\u0000\u0f31\u0f32\u0005L\u0000"+
54480 "\u0000\u0f32\u0f34\u0005\u0209\u0000\u0000\u0f33\u0f31\u0001\u0000\u0000"+
54481 "\u0000\u0f33\u0f34\u0001\u0000\u0000\u0000\u0f34\u0f38\u0001\u0000\u0000"+
54482 "\u0000\u0f35\u0f36\u0005i\u0000\u0000\u0f36\u0f37\u0005d\u0000\u0000\u0f37"+
54483 "\u0f39\u0005\u0121\u0000\u0000\u0f38\u0f35\u0001\u0000\u0000\u0000\u0f38"+
54484 "\u0f39\u0001\u0000\u0000\u0000\u0f39\u0f3a\u0001\u0000\u0000\u0000\u0f3a"+
54485 "\u0f3f\u0005_\u0000\u0000\u0f3b\u0f40\u0003\u0216\u010b\u0000\u0f3c\u0f3d"+
54486 "\u0005\u014e\u0000\u0000\u0f3d\u0f3e\u0005\u00a8\u0000\u0000\u0f3e\u0f40"+
54487 "\u0003\u0236\u011b\u0000\u0f3f\u0f3b\u0001\u0000\u0000\u0000\u0f3f\u0f3c"+
54488 "\u0001\u0000\u0000\u0000\u0f40\u0233\u0001\u0000\u0000\u0000\u0f41\u0f47"+
54489 "\u0005\u015b\u0000\u0000\u0f42\u0f47\u0003\u00d2i\u0000\u0f43\u0f47\u0005"+
54490 "\u0205\u0000\u0000\u0f44\u0f47\u0005\u01f6\u0000\u0000\u0f45\u0f47\u0001"+
54491 "\u0000\u0000\u0000\u0f46\u0f41\u0001\u0000\u0000\u0000\u0f46\u0f42\u0001"+
54492 "\u0000\u0000\u0000\u0f46\u0f43\u0001\u0000\u0000\u0000\u0f46\u0f44\u0001"+
54493 "\u0000\u0000\u0000\u0f46\u0f45\u0001\u0000\u0000\u0000\u0f47\u0235\u0001"+
54494 "\u0000\u0000\u0000\u0f48\u0f49\u0003N\'\u0000\u0f49\u0f4a\u0005\u0014"+
54495 "\u0000\u0000\u0f4a\u0f4b\u0003N\'\u0000\u0f4b\u0f4c\u0005\u0014\u0000"+
54496 "\u0000\u0f4c\u0f4d\u0003N\'\u0000\u0f4d\u0237\u0001\u0000\u0000\u0000"+
54497 "\u0f4e\u0f54\u0003@ \u0000\u0f4f\u0f54\u0003:\u001d\u0000\u0f50\u0f51"+
54498 "\u0005p\u0000\u0000\u0f51\u0f54\u0005\u013a\u0000\u0000\u0f52\u0f54\u0005"+
54499 "\u00ca\u0000\u0000\u0f53\u0f4e\u0001\u0000\u0000\u0000\u0f53\u0f4f\u0001"+
54500 "\u0000\u0000\u0000\u0f53\u0f50\u0001\u0000\u0000\u0000\u0f53\u0f52\u0001"+
54501 "\u0000\u0000\u0000\u0f54\u0239\u0001\u0000\u0000\u0000\u0f55\u0f56\u0005"+
54502 "_\u0000\u0000\u0f56\u0f72\u0003\u0094J\u0000\u0f57\u0f58\u00073\u0000"+
54503 "\u0000\u0f58\u0f59\u0005L\u0000\u0000\u0f59\u0f72\u0003b1\u0000\u0f5a"+
54504 "\u0f5b\u0005\u020a\u0000\u0000\u0f5b\u0f5c\u0005u\u0000\u0000\u0f5c\u0f72"+
54505 "\u0003b1\u0000\u0f5d\u0f5f\u0005\u020d\u0000\u0000\u0f5e\u0f60\u0003b"+
54506 "1\u0000\u0f5f\u0f5e\u0001\u0000\u0000\u0000\u0f5f\u0f60\u0001\u0000\u0000"+
54507 "\u0000\u0f60\u0f72\u0001\u0000\u0000\u0000\u0f61\u0f62\u0005\u00e5\u0000"+
54508 "\u0000\u0f62\u0f72\u0005\u020d\u0000\u0000\u0f63\u0f65\u0005\u020e\u0000"+
54509 "\u0000\u0f64\u0f66\u0003b1\u0000\u0f65\u0f64\u0001\u0000\u0000\u0000\u0f65"+
54510 "\u0f66\u0001\u0000\u0000\u0000\u0f66\u0f72\u0001\u0000\u0000\u0000\u0f67"+
54511 "\u0f68\u0005\u00e5\u0000\u0000\u0f68\u0f72\u0005\u020e\u0000\u0000\u0f69"+
54512 "\u0f6a\u0005\u020c\u0000\u0000\u0f6a\u0f72\u0003b1\u0000\u0f6b\u0f6c\u0005"+
54513 "\u00e5\u0000\u0000\u0f6c\u0f72\u0005\u020c\u0000\u0000\u0f6d\u0f6f\u0005"+
54514 "\u00e5\u0000\u0000\u0f6e\u0f6d\u0001\u0000\u0000\u0000\u0f6e\u0f6f\u0001"+
54515 "\u0000\u0000\u0000\u0f6f\u0f70\u0001\u0000\u0000\u0000\u0f70\u0f72\u0005"+
54516 "\u020b\u0000\u0000\u0f71\u0f55\u0001\u0000\u0000\u0000\u0f71\u0f57\u0001"+
54517 "\u0000\u0000\u0000\u0f71\u0f5a\u0001\u0000\u0000\u0000\u0f71\u0f5d\u0001"+
54518 "\u0000\u0000\u0000\u0f71\u0f61\u0001\u0000\u0000\u0000\u0f71\u0f63\u0001"+
54519 "\u0000\u0000\u0000\u0f71\u0f67\u0001\u0000\u0000\u0000\u0f71\u0f69\u0001"+
54520 "\u0000\u0000\u0000\u0f71\u0f6b\u0001\u0000\u0000\u0000\u0f71\u0f6e\u0001"+
54521 "\u0000\u0000\u0000\u0f72\u023b\u0001\u0000\u0000\u0000\u0f73\u0f74\u0005"+
54522 "\u0216\u0000\u0000\u0f74\u0f76\u0003R)\u0000\u0f75\u0f73\u0001\u0000\u0000"+
54523 "\u0000\u0f75\u0f76\u0001\u0000\u0000\u0000\u0f76\u0f79\u0001\u0000\u0000"+
54524 "\u0000\u0f77\u0f78\u0005^\u0000\u0000\u0f78\u0f7a\u0003\u023e\u011f\u0000"+
54525 "\u0f79\u0f77\u0001\u0000\u0000\u0000\u0f79\u0f7a\u0001\u0000\u0000\u0000"+
54526 "\u0f7a\u0f87\u0001\u0000\u0000\u0000\u0f7b\u0f7c\u0005L\u0000\u0000\u0f7c"+
54527 "\u0f7d\u0005\u001f\u0000\u0000\u0f7d\u0f82\u0003\u0244\u0122\u0000\u0f7e"+
54528 "\u0f7f\u0005%\u0000\u0000\u0f7f\u0f81\u0003\u0244\u0122\u0000\u0f80\u0f7e"+
54529 "\u0001\u0000\u0000\u0000\u0f81\u0f84\u0001\u0000\u0000\u0000\u0f82\u0f80"+
54530 "\u0001\u0000\u0000\u0000\u0f82\u0f83\u0001\u0000\u0000\u0000\u0f83\u0f85"+
54531 "\u0001\u0000\u0000\u0000\u0f84\u0f82\u0001\u0000\u0000\u0000\u0f85\u0f86"+
54532 "\u0005 \u0000\u0000\u0f86\u0f88\u0001\u0000\u0000\u0000\u0f87\u0f7b\u0001"+
54533 "\u0000\u0000\u0000\u0f87\u0f88\u0001\u0000\u0000\u0000\u0f88\u0f92\u0001"+
54534 "\u0000\u0000\u0000\u0f89\u0f90\u0005`\u0000\u0000\u0f8a\u0f8b\u00034\u001a"+
54535 "\u0000\u0f8b\u0f8c\u0005\u001f\u0000\u0000\u0f8c\u0f8d\u0003H$\u0000\u0f8d"+
54536 "\u0f8e\u0005 \u0000\u0000\u0f8e\u0f91\u0001\u0000\u0000\u0000\u0f8f\u0f91"+
54537 "\u0003N\'\u0000\u0f90\u0f8a\u0001\u0000\u0000\u0000\u0f90\u0f8f\u0001"+
54538 "\u0000\u0000\u0000\u0f91\u0f93\u0001\u0000\u0000\u0000\u0f92\u0f89\u0001"+
54539 "\u0000\u0000\u0000\u0f92\u0f93\u0001\u0000\u0000\u0000\u0f93\u0f99\u0001"+
54540 "\u0000\u0000\u0000\u0f94\u0f97\u0005\u0198\u0000\u0000\u0f95\u0f98\u0003"+
54541 "N\'\u0000\u0f96\u0f98\u0003\u001c\u000e\u0000\u0f97\u0f95\u0001\u0000"+
54542 "\u0000\u0000\u0f97\u0f96\u0001\u0000\u0000\u0000\u0f98\u0f9a\u0001\u0000"+
54543 "\u0000\u0000\u0f99\u0f94\u0001\u0000\u0000\u0000\u0f99\u0f9a\u0001\u0000"+
54544 "\u0000\u0000\u0f9a\u023d\u0001\u0000\u0000\u0000\u0f9b\u0fa0\u0003\u0240"+
54545 "\u0120\u0000\u0f9c\u0f9d\u0005f\u0000\u0000\u0f9d\u0f9f\u0003\u0240\u0120"+
54546 "\u0000\u0f9e\u0f9c\u0001\u0000\u0000\u0000\u0f9f\u0fa2\u0001\u0000\u0000"+
54547 "\u0000\u0fa0\u0f9e\u0001\u0000\u0000\u0000\u0fa0\u0fa1\u0001\u0000\u0000"+
54548 "\u0000\u0fa1\u023f\u0001\u0000\u0000\u0000\u0fa2\u0fa0\u0001\u0000\u0000"+
54549 "\u0000\u0fa3\u0fa4\u0003H$\u0000\u0fa4\u0fa5\u0005o\u0000\u0000\u0fa5"+
54550 "\u0fa6\u0005\u001f\u0000\u0000\u0fa6\u0fab\u0003b1\u0000\u0fa7\u0fa8\u0005"+
54551 "%\u0000\u0000\u0fa8\u0faa\u0003b1\u0000\u0fa9\u0fa7\u0001\u0000\u0000"+
54552 "\u0000\u0faa\u0fad\u0001\u0000\u0000\u0000\u0fab\u0fa9\u0001\u0000\u0000"+
54553 "\u0000\u0fab\u0fac\u0001\u0000\u0000\u0000\u0fac\u0fae\u0001\u0000\u0000"+
54554 "\u0000\u0fad\u0fab\u0001\u0000\u0000\u0000\u0fae\u0faf\u0005 \u0000\u0000"+
54555 "\u0faf\u0fb5\u0001\u0000\u0000\u0000\u0fb0\u0fb1\u0003H$\u0000\u0fb1\u0fb2"+
54556 "\u0003l6\u0000\u0fb2\u0fb3\u0003b1\u0000\u0fb3\u0fb5\u0001\u0000\u0000"+
54557 "\u0000\u0fb4\u0fa3\u0001\u0000\u0000\u0000\u0fb4\u0fb0\u0001\u0000\u0000"+
54558 "\u0000\u0fb5\u0241\u0001\u0000\u0000\u0000\u0fb6\u0fbd\u0005\u011f\u0000"+
54559 "\u0000\u0fb7\u0fb8\u0005\u00da\u0000\u0000\u0fb8\u0fbb\u0005\u0018\u0000"+
54560 "\u0000\u0fb9\u0fbc\u0005p\u0000\u0000\u0fba\u0fbc\u0003b1\u0000\u0fbb"+
54561 "\u0fb9\u0001\u0000\u0000\u0000\u0fbb\u0fba\u0001\u0000\u0000\u0000\u0fbc"+
54562 "\u0fbe\u0001\u0000\u0000\u0000\u0fbd\u0fb7\u0001\u0000\u0000\u0000\u0fbd"+
54563 "\u0fbe\u0001\u0000\u0000\u0000\u0fbe\u0fcb\u0001\u0000\u0000\u0000\u0fbf"+
54564 "\u0fc0\u0005L\u0000\u0000\u0fc0\u0fc1\u0005\u001f\u0000\u0000\u0fc1\u0fc6"+
54565 "\u0003\u0244\u0122\u0000\u0fc2\u0fc3\u0005%\u0000\u0000\u0fc3\u0fc5\u0003"+
54566 "\u0244\u0122\u0000\u0fc4\u0fc2\u0001\u0000\u0000\u0000\u0fc5\u0fc8\u0001"+
54567 "\u0000\u0000\u0000\u0fc6\u0fc4\u0001\u0000\u0000\u0000\u0fc6\u0fc7\u0001"+
54568 "\u0000\u0000\u0000\u0fc7\u0fc9\u0001\u0000\u0000\u0000\u0fc8\u0fc6\u0001"+
54569 "\u0000\u0000\u0000\u0fc9\u0fca\u0005 \u0000\u0000\u0fca\u0fcc\u0001\u0000"+
54570 "\u0000\u0000\u0fcb\u0fbf\u0001\u0000\u0000\u0000\u0fcb\u0fcc\u0001\u0000"+
54571 "\u0000\u0000\u0fcc\u0ff5\u0001\u0000\u0000\u0000\u0fcd\u0ff5\u0005\u009b"+
54572 "\u0000\u0000\u0fce\u0fd2\u0005\u0212\u0000\u0000\u0fcf\u0fd0\u0005\u00da"+
54573 "\u0000\u0000\u0fd0\u0fd1\u0005\u0018\u0000\u0000\u0fd1\u0fd3\u0003b1\u0000"+
54574 "\u0fd2\u0fcf\u0001\u0000\u0000\u0000\u0fd2\u0fd3\u0001\u0000\u0000\u0000"+
54575 "\u0fd3\u0fd9\u0001\u0000\u0000\u0000\u0fd4\u0fd5\u0005L\u0000\u0000\u0fd5"+
54576 "\u0fd6\u0005\u001f\u0000\u0000\u0fd6\u0fd7\u0003\u0248\u0124\u0000\u0fd7"+
54577 "\u0fd8\u0005 \u0000\u0000\u0fd8\u0fda\u0001\u0000\u0000\u0000\u0fd9\u0fd4"+
54578 "\u0001\u0000\u0000\u0000\u0fd9\u0fda\u0001\u0000\u0000\u0000\u0fda\u0ff5"+
54579 "\u0001\u0000\u0000\u0000\u0fdb\u0fdc\u0005:\u0000\u0000\u0fdc\u0fdd\u0005"+
54580 "\u001f\u0000\u0000\u0fdd\u0fde\u0003\u024a\u0125\u0000\u0fde\u0fdf\u0005"+
54581 "%\u0000\u0000\u0fdf\u0fe0\u0003\u024a\u0125\u0000\u0fe0\u0fe1\u0001\u0000"+
54582 "\u0000\u0000\u0fe1\u0fe2\u0005 \u0000\u0000\u0fe2\u0ff5\u0001\u0000\u0000"+
54583 "\u0000\u0fe3\u0ff0\u0005\u0213\u0000\u0000\u0fe4\u0fe5\u0005L\u0000\u0000"+
54584 "\u0fe5\u0fe6\u0005\u001f\u0000\u0000\u0fe6\u0feb\u0003\u024c\u0126\u0000"+
54585 "\u0fe7\u0fe8\u0005%\u0000\u0000\u0fe8\u0fea\u0003\u024c\u0126\u0000\u0fe9"+
54586 "\u0fe7\u0001\u0000\u0000\u0000\u0fea\u0fed\u0001\u0000\u0000\u0000\u0feb"+
54587 "\u0fe9\u0001\u0000\u0000\u0000\u0feb\u0fec\u0001\u0000\u0000\u0000\u0fec"+
54588 "\u0fee\u0001\u0000\u0000\u0000\u0fed\u0feb\u0001\u0000\u0000\u0000\u0fee"+
54589 "\u0fef\u0005 \u0000\u0000\u0fef\u0ff1\u0001\u0000\u0000\u0000\u0ff0\u0fe4"+
54590 "\u0001\u0000\u0000\u0000\u0ff0\u0ff1\u0001\u0000\u0000\u0000\u0ff1\u0ff5"+
54591 "\u0001\u0000\u0000\u0000\u0ff2\u0ff5\u0005\u0214\u0000\u0000\u0ff3\u0ff5"+
54592 "\u0005\u0215\u0000\u0000\u0ff4\u0fb6\u0001\u0000\u0000\u0000\u0ff4\u0fcd"+
54593 "\u0001\u0000\u0000\u0000\u0ff4\u0fce\u0001\u0000\u0000\u0000\u0ff4\u0fdb"+
54594 "\u0001\u0000\u0000\u0000\u0ff4\u0fe3\u0001\u0000\u0000\u0000\u0ff4\u0ff2"+
54595 "\u0001\u0000\u0000\u0000\u0ff4\u0ff3\u0001\u0000\u0000\u0000\u0ff5\u0243"+
54596 "\u0001\u0000\u0000\u0000\u0ff6\u0ff7\u0005\u0196\u0000\u0000\u0ff7\u0ff8"+
54597 "\u0005\u0018\u0000\u0000\u0ff8\u103a\u0007\u0000\u0000\u0000\u0ff9\u0ffa"+
54598 "\u0005\u0105\u0000\u0000\u0ffa\u0ffb\u0005\u0018\u0000\u0000\u0ffb\u103a"+
54599 "\u0003b1\u0000\u0ffc\u0ffd\u0005\u0190\u0000\u0000\u0ffd\u0ffe\u0005\u0018"+
54600 "\u0000\u0000\u0ffe\u103a\u0007\u0000\u0000\u0000\u0fff\u1000\u0005\u0191"+
54601 "\u0000\u0000\u1000\u1001\u0005\u0018\u0000\u0000\u1001\u103a\u0007\u0000"+
54602 "\u0000\u0000\u1002\u1003\u0005\u018c\u0000\u0000\u1003\u1004\u0005\u0018"+
54603 "\u0000\u0000\u1004\u103a\u0007\u0000\u0000\u0000\u1005\u1006\u0005\u018b"+
54604 "\u0000\u0000\u1006\u1007\u0005\u0018\u0000\u0000\u1007\u103a\u0007\u0000"+
54605 "\u0000\u0000\u1008\u1009\u0005\u01a2\u0000\u0000\u1009\u100a\u0005\u0018"+
54606 "\u0000\u0000\u100a\u103a\u0007\u0000\u0000\u0000\u100b\u100c\u0005\u0116"+
54607 "\u0000\u0000\u100c\u1012\u0005\u0018\u0000\u0000\u100d\u100f\u0005`\u0000"+
54608 "\u0000\u100e\u1010\u0003\u00c6c\u0000\u100f\u100e\u0001\u0000\u0000\u0000"+
54609 "\u100f\u1010\u0001\u0000\u0000\u0000\u1010\u1013\u0001\u0000\u0000\u0000"+
54610 "\u1011\u1013\u0005\u0115\u0000\u0000\u1012\u100d\u0001\u0000\u0000\u0000"+
54611 "\u1012\u1011\u0001\u0000\u0000\u0000\u1013\u103a\u0001\u0000\u0000\u0000"+
54612 "\u1014\u1015\u0005\u0122\u0000\u0000\u1015\u1016\u0005\u0018\u0000\u0000"+
54613 "\u1016\u103a\u0007\u0000\u0000\u0000\u1017\u1018\u0005\u0193\u0000\u0000"+
54614 "\u1018\u1019\u0005\u0018\u0000\u0000\u1019\u101b\u0003b1\u0000\u101a\u101c"+
54615 "\u0005\u00fb\u0000\u0000\u101b\u101a\u0001\u0000\u0000\u0000\u101b\u101c"+
54616 "\u0001\u0000\u0000\u0000\u101c\u103a\u0001\u0000\u0000\u0000\u101d\u101e"+
54617 "\u0005\u017c\u0000\u0000\u101e\u101f\u0005\u0018\u0000\u0000\u101f\u103a"+
54618 "\u0007\u0000\u0000\u0000\u1020\u1021\u0005\u017b\u0000\u0000\u1021\u1022"+
54619 "\u0005\u0018\u0000\u0000\u1022\u103a\u0007\u0000\u0000\u0000\u1023\u1024"+
54620 "\u0005\u01d8\u0000\u0000\u1024\u1025\u0005\u0018\u0000\u0000\u1025\u103a"+
54621 "\u0007\u0000\u0000\u0000\u1026\u1027\u0005\u0110\u0000\u0000\u1027\u1028"+
54622 "\u0005\u0018\u0000\u0000\u1028\u103a\u0003b1\u0000\u1029\u102a\u0005\u0184"+
54623 "\u0000\u0000\u102a\u102b\u0005\u0018\u0000\u0000\u102b\u1037\u0007\u0017"+
54624 "\u0000\u0000\u102c\u102d\u0005`\u0000\u0000\u102d\u102e\u0005\u00db\u0000"+
54625 "\u0000\u102e\u102f\u0005\u001f\u0000\u0000\u102f\u1034\u0003\u0246\u0123"+
54626 "\u0000\u1030\u1031\u0005%\u0000\u0000\u1031\u1033\u0003\u0246\u0123\u0000"+
54627 "\u1032\u1030\u0001\u0000\u0000\u0000\u1033\u1036\u0001\u0000\u0000\u0000"+
54628 "\u1034\u1032\u0001\u0000\u0000\u0000\u1034\u1035\u0001\u0000\u0000\u0000"+
54629 "\u1035\u1038\u0001\u0000\u0000\u0000\u1036\u1034\u0001\u0000\u0000\u0000"+
54630 "\u1037\u102c\u0001\u0000\u0000\u0000\u1037\u1038\u0001\u0000\u0000\u0000"+
54631 "\u1038\u103a\u0001\u0000\u0000\u0000\u1039\u0ff6\u0001\u0000\u0000\u0000"+
54632 "\u1039\u0ff9\u0001\u0000\u0000\u0000\u1039\u0ffc\u0001\u0000\u0000\u0000"+
54633 "\u1039\u0fff\u0001\u0000\u0000\u0000\u1039\u1002\u0001\u0000\u0000\u0000"+
54634 "\u1039\u1005\u0001\u0000\u0000\u0000\u1039\u1008\u0001\u0000\u0000\u0000"+
54635 "\u1039\u100b\u0001\u0000\u0000\u0000\u1039\u1014\u0001\u0000\u0000\u0000"+
54636 "\u1039\u1017\u0001\u0000\u0000\u0000\u1039\u101d\u0001\u0000\u0000\u0000"+
54637 "\u1039\u1020\u0001\u0000\u0000\u0000\u1039\u1023\u0001\u0000\u0000\u0000"+
54638 "\u1039\u1026\u0001\u0000\u0000\u0000\u1039\u1029\u0001\u0000\u0000\u0000"+
54639 "\u103a\u0245\u0001\u0000\u0000\u0000\u103b\u103e\u0003b1\u0000\u103c\u103d"+
54640 "\u0005e\u0000\u0000\u103d\u103f\u0003b1\u0000\u103e\u103c\u0001\u0000"+
54641 "\u0000\u0000\u103e\u103f\u0001\u0000\u0000\u0000\u103f\u0247\u0001\u0000"+
54642 "\u0000\u0000\u1040\u1041\u0005\u0210\u0000\u0000\u1041\u1042\u0005\u0018"+
54643 "\u0000\u0000\u1042\u1047\u0007\u0000\u0000\u0000\u1043\u1044\u0005\u0211"+
54644 "\u0000\u0000\u1044\u1045\u0005\u0018\u0000\u0000\u1045\u1047\u0007\u0000"+
54645 "\u0000\u0000\u1046\u1040\u0001\u0000\u0000\u0000\u1046\u1043\u0001\u0000"+
54646 "\u0000\u0000\u1047\u0249\u0001\u0000\u0000\u0000\u1048\u1049\u0005\u017c"+
54647 "\u0000\u0000\u1049\u104a\u0005\u0018\u0000\u0000\u104a\u105e\u0007\u0000"+
54648 "\u0000\u0000\u104b\u104c\u0005\u017b\u0000\u0000\u104c\u104d\u0005\u0018"+
54649 "\u0000\u0000\u104d\u105e\u0007\u0000\u0000\u0000\u104e\u104f\u0005\u01d8"+
54650 "\u0000\u0000\u104f\u1050\u0005\u0018\u0000\u0000\u1050\u105e\u0007\u0000"+
54651 "\u0000\u0000\u1051\u1052\u0005\u0191\u0000\u0000\u1052\u1053\u0005\u0018"+
54652 "\u0000\u0000\u1053\u105e\u0007\u0000\u0000\u0000\u1054\u1055\u0005\u018c"+
54653 "\u0000\u0000\u1055\u1056\u0005\u0018\u0000\u0000\u1056\u105e\u0007\u0000"+
54654 "\u0000\u0000\u1057\u1058\u0005\u0182\u0000\u0000\u1058\u1059\u0005\u0018"+
54655 "\u0000\u0000\u1059\u105b\u0003b1\u0000\u105a\u105c\u0005\u00fb\u0000\u0000"+
54656 "\u105b\u105a\u0001\u0000\u0000\u0000\u105b\u105c\u0001\u0000\u0000\u0000"+
54657 "\u105c\u105e\u0001\u0000\u0000\u0000\u105d\u1048\u0001\u0000\u0000\u0000"+
54658 "\u105d\u104b\u0001\u0000\u0000\u0000\u105d\u104e\u0001\u0000\u0000\u0000"+
54659 "\u105d\u1051\u0001\u0000\u0000\u0000\u105d\u1054\u0001\u0000\u0000\u0000"+
54660 "\u105d\u1057\u0001\u0000\u0000\u0000\u105e\u024b\u0001\u0000\u0000\u0000"+
54661 "\u105f\u1060\u0005\u0110\u0000\u0000\u1060\u1061\u0005\u0018\u0000\u0000"+
54662 "\u1061\u106a\u0003b1\u0000\u1062\u1063\u0005\u0193\u0000\u0000\u1063\u1064"+
54663 "\u0005\u0018\u0000\u0000\u1064\u1066\u0003b1\u0000\u1065\u1067\u0005\u00fb"+
54664 "\u0000\u0000\u1066\u1065\u0001\u0000\u0000\u0000\u1066\u1067\u0001\u0000"+
54665 "\u0000\u0000\u1067\u106a\u0001\u0000\u0000\u0000\u1068\u106a\u0003\u00c6"+
54666 "c\u0000\u1069\u105f\u0001\u0000\u0000\u0000\u1069\u1062\u0001\u0000\u0000"+
54667 "\u0000\u1069\u1068\u0001\u0000\u0000\u0000\u106a\u024d\u0001\u0000\u0000"+
54668 "\u0000\u106b\u106c\u0005\u021f\u0000\u0000\u106c\u106d\u0005\u00a8\u0000"+
54669 "\u0000\u106d\u106e\u0005\u0018\u0000\u0000\u106e\u10a2\u00032\u0019\u0000"+
54670 "\u106f\u1070\u0005\u00f3\u0000\u0000\u1070\u10a2\u0003\u00cae\u0000\u1071"+
54671 "\u10a2\u0003\u0258\u012c\u0000\u1072\u1073\u0005:\u0000\u0000\u1073\u1078"+
54672 "\u0003\u0256\u012b\u0000\u1074\u1075\u0005%\u0000\u0000\u1075\u1077\u0003"+
54673 "\u0256\u012b\u0000\u1076\u1074\u0001\u0000\u0000\u0000\u1077\u107a\u0001"+
54674 "\u0000\u0000\u0000\u1078\u1076\u0001\u0000\u0000\u0000\u1078\u1079\u0001"+
54675 "\u0000\u0000\u0000\u1079\u107d\u0001\u0000\u0000\u0000\u107a\u1078\u0001"+
54676 "\u0000\u0000\u0000\u107b\u107c\u0005L\u0000\u0000\u107c\u107e\u0003\u027e"+
54677 "\u013f\u0000\u107d\u107b\u0001\u0000\u0000\u0000\u107d\u107e\u0001\u0000"+
54678 "\u0000\u0000\u107e\u10a2\u0001\u0000\u0000\u0000\u107f\u1080\u0005\u021f"+
54679 "\u0000\u0000\u1080\u1081\u0005\u001f\u0000\u0000\u1081\u1086\u0003\u0252"+
54680 "\u0129\u0000\u1082\u1083\u0005%\u0000\u0000\u1083\u1085\u0003\u0252\u0129"+
54681 "\u0000\u1084\u1082\u0001\u0000\u0000\u0000\u1085\u1088\u0001\u0000\u0000"+
54682 "\u0000\u1086\u1084\u0001\u0000\u0000\u0000\u1086\u1087\u0001\u0000\u0000"+
54683 "\u0000\u1087\u1089\u0001\u0000\u0000\u0000\u1088\u1086\u0001\u0000\u0000"+
54684 "\u0000\u1089\u108a\u0005 \u0000\u0000\u108a\u10a2\u0001\u0000\u0000\u0000"+
54685 "\u108b\u108c\u0005\u021f\u0000\u0000\u108c\u108d\u0005\u0272\u0000\u0000"+
54686 "\u108d\u108e\u0005\u0018\u0000\u0000\u108e\u10a2\u0005\u02ae\u0000\u0000"+
54687 "\u108f\u1090\u00059\u0000\u0000\u1090\u1091\u0005\u0274\u0000\u0000\u1091"+
54688 "\u1092\u0005`\u0000\u0000\u1092\u1093\u0005\u013a\u0000\u0000\u1093\u109d"+
54689 "\u0003\u00cae\u0000\u1094\u1095\u0005L\u0000\u0000\u1095\u109a\u0003\u0250"+
54690 "\u0128\u0000\u1096\u1097\u0005%\u0000\u0000\u1097\u1099\u0003\u0250\u0128"+
54691 "\u0000\u1098\u1096\u0001\u0000\u0000\u0000\u1099\u109c\u0001\u0000\u0000"+
54692 "\u0000\u109a\u1098\u0001\u0000\u0000\u0000\u109a\u109b\u0001\u0000\u0000"+
54693 "\u0000\u109b\u109e\u0001\u0000\u0000\u0000\u109c\u109a\u0001\u0000\u0000"+
54694 "\u0000\u109d\u1094\u0001\u0000\u0000\u0000\u109d\u109e\u0001\u0000\u0000"+
54695 "\u0000\u109e\u10a2\u0001\u0000\u0000\u0000\u109f\u10a2\u0005\u0275\u0000"+
54696 "\u0000\u10a0\u10a2\u0005\u0273\u0000\u0000\u10a1\u106b\u0001\u0000\u0000"+
54697 "\u0000\u10a1\u106f\u0001\u0000\u0000\u0000\u10a1\u1071\u0001\u0000\u0000"+
54698 "\u0000\u10a1\u1072\u0001\u0000\u0000\u0000\u10a1\u107f\u0001\u0000\u0000"+
54699 "\u0000\u10a1\u108b\u0001\u0000\u0000\u0000\u10a1\u108f\u0001\u0000\u0000"+
54700 "\u0000\u10a1\u109f\u0001\u0000\u0000\u0000\u10a1\u10a0\u0001\u0000\u0000"+
54701 "\u0000\u10a2\u024f\u0001\u0000\u0000\u0000\u10a3\u10a4\u0005\u026e\u0000"+
54702 "\u0000\u10a4\u10a5\u0005\u0018\u0000\u0000\u10a5\u10b0\u00074\u0000\u0000"+
54703 "\u10a6\u10a7\u0005\u026c\u0000\u0000\u10a7\u10ad\u0005\u0018\u0000\u0000"+
54704 "\u10a8\u10ae\u0003\u0254\u012a\u0000\u10a9\u10aa\u0005\u026d\u0000\u0000"+
54705 "\u10aa\u10ab\u0005\u0018\u0000\u0000\u10ab\u10ae\u00032\u0019\u0000\u10ac"+
54706 "\u10ae\u00075\u0000\u0000\u10ad\u10a8\u0001\u0000\u0000\u0000\u10ad\u10a9"+
54707 "\u0001\u0000\u0000\u0000\u10ad\u10ac\u0001\u0000\u0000\u0000\u10ae\u10b0"+
54708 "\u0001\u0000\u0000\u0000\u10af\u10a3\u0001\u0000\u0000\u0000\u10af\u10a6"+
54709 "\u0001\u0000\u0000\u0000\u10b0\u0251\u0001\u0000\u0000\u0000\u10b1\u10b2"+
54710 "\u0005\u01e0\u0000\u0000\u10b2\u10b3\u0005\u0018\u0000\u0000\u10b3\u10b4"+
54711 "\u0005\u02af\u0000\u0000\u10b4\u10bf\u00076\u0000\u0000\u10b5\u10b6\u0005"+
54712 "\u025f\u0000\u0000\u10b6\u10b7\u0005\u0018\u0000\u0000\u10b7\u10bf\u0005"+
54713 "\u02ae\u0000\u0000\u10b8\u10b9\u0005\u026c\u0000\u0000\u10b9\u10bc\u0005"+
54714 "\u0018\u0000\u0000\u10ba\u10bd\u0005\u02ae\u0000\u0000\u10bb\u10bd\u0003"+
54715 "\u0254\u012a\u0000\u10bc\u10ba\u0001\u0000\u0000\u0000\u10bc\u10bb\u0001"+
54716 "\u0000\u0000\u0000\u10bd\u10bf\u0001\u0000\u0000\u0000\u10be\u10b1\u0001"+
54717 "\u0000\u0000\u0000\u10be\u10b5\u0001\u0000\u0000\u0000\u10be\u10b8\u0001"+
54718 "\u0000\u0000\u0000\u10bf\u0253\u0001\u0000\u0000\u0000\u10c0\u10c9\u0005"+
54719 "\u02ae\u0000\u0000\u10c1\u10c2\u0005\u026b\u0000\u0000\u10c2\u10c3\u0005"+
54720 "\u001f\u0000\u0000\u10c3\u10c4\u0003\u00cae\u0000\u10c4\u10c5\u0005\u0018"+
54721 "\u0000\u0000\u10c5\u10c6\u0005\u02ae\u0000\u0000\u10c6\u10c7\u0005 \u0000"+
54722 "\u0000\u10c7\u10c9\u0001\u0000\u0000\u0000\u10c8\u10c0\u0001\u0000\u0000"+
54723 "\u0000\u10c8\u10c1\u0001\u0000\u0000\u0000\u10c9\u0255\u0001\u0000\u0000"+
54724 "\u0000\u10ca\u10f6\u0003\u0260\u0130\u0000\u10cb\u10f6\u0003\u0262\u0131"+
54725 "\u0000\u10cc\u10f6\u0003\u0264\u0132\u0000\u10cd\u10f6\u0003\u0266\u0133"+
54726 "\u0000\u10ce\u10cf\u0005\u01dc\u0000\u0000\u10cf\u10d0\u0005\u0018\u0000"+
54727 "\u0000\u10d0\u10f6\u0007*\u0000\u0000\u10d1\u10f6\u0003\u026a\u0135\u0000"+
54728 "\u10d2\u10d3\u0005\u026a\u0000\u0000\u10d3\u10f6\u0007\u0000\u0000\u0000"+
54729 "\u10d4\u10d5\u0005\u015b\u0000\u0000\u10d5\u10f6\u00077\u0000\u0000\u10d6"+
54730 "\u10f6\u00078\u0000\u0000\u10d7\u10f6\u00079\u0000\u0000\u10d8\u10f6\u0007"+
54731 ":\u0000\u0000\u10d9\u10da\u0005\u027f\u0000\u0000\u10da\u10db\u0005\u0018"+
54732 "\u0000\u0000\u10db\u10f6\u0007;\u0000\u0000\u10dc\u10f6\u0003\u026c\u0136"+
54733 "\u0000\u10dd\u10de\u0005\u0103\u0000\u0000\u10de\u10df\u0005\u001f\u0000"+
54734 "\u0000\u10df\u10e0\u0003\u01e4\u00f2\u0000\u10e0\u10e1\u0005 \u0000\u0000"+
54735 "\u10e1\u10f6\u0001\u0000\u0000\u0000\u10e2\u10e3\u00053\u0000\u0000\u10e3"+
54736 "\u10e4\u0005\u00ca\u0000\u0000\u10e4\u10e5\u0005:\u0000\u0000\u10e5\u10f6"+
54737 "\u0005\u0263\u0000\u0000\u10e6\u10e7\u0005\u0260\u0000\u0000\u10e7\u10f6"+
54738 "\u0007\u0000\u0000\u0000\u10e8\u10e9\u0005\u01d4\u0000\u0000\u10e9\u10f6"+
54739 "\u0007<\u0000\u0000\u10ea\u10f6\u0003\u026e\u0137\u0000\u10eb\u10f6\u0003"+
54740 "\u0274\u013a\u0000\u10ec\u10f6\u0003\u027a\u013d\u0000\u10ed\u10f6\u0003"+
54741 "\u0278\u013c\u0000\u10ee\u10f6\u0003\u0276\u013b\u0000\u10ef\u10f6\u0003"+
54742 "\u027c\u013e\u0000\u10f0\u10f6\u0003\u027e\u013f\u0000\u10f1\u10f2\u0005"+
54743 "\u025e\u0000\u0000\u10f2\u10f6\u0007\u0000\u0000\u0000\u10f3\u10f4\u0005"+
54744 "\u025d\u0000\u0000\u10f4\u10f6\u0007\u0000\u0000\u0000\u10f5\u10ca\u0001"+
54745 "\u0000\u0000\u0000\u10f5\u10cb\u0001\u0000\u0000\u0000\u10f5\u10cc\u0001"+
54746 "\u0000\u0000\u0000\u10f5\u10cd\u0001\u0000\u0000\u0000\u10f5\u10ce\u0001"+
54747 "\u0000\u0000\u0000\u10f5\u10d1\u0001\u0000\u0000\u0000\u10f5\u10d2\u0001"+
54748 "\u0000\u0000\u0000\u10f5\u10d4\u0001\u0000\u0000\u0000\u10f5\u10d6\u0001"+
54749 "\u0000\u0000\u0000\u10f5\u10d7\u0001\u0000\u0000\u0000\u10f5\u10d8\u0001"+
54750 "\u0000\u0000\u0000\u10f5\u10d9\u0001\u0000\u0000\u0000\u10f5\u10dc\u0001"+
54751 "\u0000\u0000\u0000\u10f5\u10dd\u0001\u0000\u0000\u0000\u10f5\u10e2\u0001"+
54752 "\u0000\u0000\u0000\u10f5\u10e6\u0001\u0000\u0000\u0000\u10f5\u10e8\u0001"+
54753 "\u0000\u0000\u0000\u10f5\u10ea\u0001\u0000\u0000\u0000\u10f5\u10eb\u0001"+
54754 "\u0000\u0000\u0000\u10f5\u10ec\u0001\u0000\u0000\u0000\u10f5\u10ed\u0001"+
54755 "\u0000\u0000\u0000\u10f5\u10ee\u0001\u0000\u0000\u0000\u10f5\u10ef\u0001"+
54756 "\u0000\u0000\u0000\u10f5\u10f0\u0001\u0000\u0000\u0000\u10f5\u10f1\u0001"+
54757 "\u0000\u0000\u0000\u10f5\u10f3\u0001\u0000\u0000\u0000\u10f6\u0257\u0001"+
54758 "\u0000\u0000\u0000\u10f7\u10fc\u0003\u025e\u012f\u0000\u10f8\u10fc\u0003"+
54759 "\u01e6\u00f3\u0000\u10f9\u10fc\u0003\u025a\u012d\u0000\u10fa\u10fc\u0003"+
54760 "\u025c\u012e\u0000\u10fb\u10f7\u0001\u0000\u0000\u0000\u10fb\u10f8\u0001"+
54761 "\u0000\u0000\u0000\u10fb\u10f9\u0001\u0000\u0000\u0000\u10fb\u10fa\u0001"+
54762 "\u0000\u0000\u0000\u10fc\u0259\u0001\u0000\u0000\u0000\u10fd\u10fe\u0005"+
54763 "9\u0000\u0000\u10fe\u10ff\u0005\u01e9\u0000\u0000\u10ff\u1104\u0003\u00ca"+
54764 "e\u0000\u1100\u1101\u0005\u01e7\u0000\u0000\u1101\u1105\u0005\u0103\u0000"+
54765 "\u0000\u1102\u1103\u0005\u01e7\u0000\u0000\u1103\u1105\u0005\u01e8\u0000"+
54766 "\u0000\u1104\u1100\u0001\u0000\u0000\u0000\u1104\u1102\u0001\u0000\u0000"+
54767 "\u0000\u1104\u1105\u0001\u0000\u0000\u0000\u1105\u1114\u0001\u0000\u0000"+
54768 "\u0000\u1106\u1107\u0005\u021a\u0000\u0000\u1107\u1108\u0005\u01e9\u0000"+
54769 "\u0000\u1108\u1114\u0003\u00cae\u0000\u1109\u110a\u0005\u021f\u0000\u0000"+
54770 "\u110a\u110b\u0005\u01e9\u0000\u0000\u110b\u110c\u0003\u00cae\u0000\u110c"+
54771 "\u110d\u0003\u025c\u012e\u0000\u110d\u1114\u0001\u0000\u0000\u0000\u110e"+
54772 "\u1114\u0005\u0098\u0000\u0000\u110f\u1110\u0005\u00a8\u0000\u0000\u1110"+
54773 "\u1111\u0005\u0018\u0000\u0000\u1111\u1114\u0003\u00cae\u0000\u1112\u1114"+
54774 "\u0007=\u0000\u0000\u1113\u10fd\u0001\u0000\u0000\u0000\u1113\u1106\u0001"+
54775 "\u0000\u0000\u0000\u1113\u1109\u0001\u0000\u0000\u0000\u1113\u110e\u0001"+
54776 "\u0000\u0000\u0000\u1113\u110f\u0001\u0000\u0000\u0000\u1113\u1112\u0001"+
54777 "\u0000\u0000\u0000\u1114\u025b\u0001\u0000\u0000\u0000\u1115\u1118\u0007"+
54778 ">\u0000\u0000\u1116\u1118\u00079\u0000\u0000\u1117\u1115\u0001\u0000\u0000"+
54779 "\u0000\u1117";
54780 private static final String _serializedATNSegment2 =
54781 "\u1116\u0001\u0000\u0000\u0000\u1118\u025d\u0001\u0000\u0000\u0000\u1119"+
54782 "\u111a\u00059\u0000\u0000\u111a\u111b\u0005\u015f\u0000\u0000\u111b\u1120"+
54783 "\u0003\u01e6\u00f3\u0000\u111c\u111d\u0005%\u0000\u0000\u111d\u111f\u0003"+
54784 "\u01e6\u00f3\u0000\u111e\u111c\u0001\u0000\u0000\u0000\u111f\u1122\u0001"+
54785 "\u0000\u0000\u0000\u1120\u111e\u0001\u0000\u0000\u0000\u1120\u1121\u0001"+
54786 "\u0000\u0000\u0000\u1121\u1126\u0001\u0000\u0000\u0000\u1122\u1120\u0001"+
54787 "\u0000\u0000\u0000\u1123\u1124\u0005e\u0000\u0000\u1124\u1125\u0005\u01e9"+
54788 "\u0000\u0000\u1125\u1127\u0003\u00cae\u0000\u1126\u1123\u0001\u0000\u0000"+
54789 "\u0000\u1126\u1127\u0001\u0000\u0000\u0000\u1127\u113a\u0001\u0000\u0000"+
54790 "\u0000\u1128\u1129\u00059\u0000\u0000\u1129\u112a\u0005\u0173\u0000\u0000"+
54791 "\u112a\u112b\u0005\u015f\u0000\u0000\u112b\u1130\u0003\u01e6\u00f3\u0000"+
54792 "\u112c\u112d\u0005%\u0000\u0000\u112d\u112f\u0003\u01e6\u00f3\u0000\u112e"+
54793 "\u112c\u0001\u0000\u0000\u0000\u112f\u1132\u0001\u0000\u0000\u0000\u1130"+
54794 "\u112e\u0001\u0000\u0000\u0000\u1130\u1131\u0001\u0000\u0000\u0000\u1131"+
54795 "\u113a\u0001\u0000\u0000\u0000\u1132\u1130\u0001\u0000\u0000\u0000\u1133"+
54796 "\u1134\u0005\u021a\u0000\u0000\u1134\u1135\u0005\u015f\u0000\u0000\u1135"+
54797 "\u113a\u0005\u02ae\u0000\u0000\u1136\u1137\u0005\u021f\u0000\u0000\u1137"+
54798 "\u1138\u0005\u015f\u0000\u0000\u1138\u113a\u0003\u01e6\u00f3\u0000\u1139"+
54799 "\u1119\u0001\u0000\u0000\u0000\u1139\u1128\u0001\u0000\u0000\u0000\u1139"+
54800 "\u1133\u0001\u0000\u0000\u0000\u1139\u1136\u0001\u0000\u0000\u0000\u113a"+
54801 "\u025f\u0001\u0000\u0000\u0000\u113b\u113c\u0005\u0220\u0000\u0000\u113c"+
54802 "\u113d\u0005\u0018\u0000\u0000\u113d\u1144\u0007\u0000\u0000\u0000\u113e"+
54803 "\u113f\u0005\u001f\u0000\u0000\u113f\u1140\u0005\u0221\u0000\u0000\u1140"+
54804 "\u1141\u0005\u0018\u0000\u0000\u1141\u1142\u0003\u00cae\u0000\u1142\u1143"+
54805 "\u0005 \u0000\u0000\u1143\u1145\u0001\u0000\u0000\u0000\u1144\u113e\u0001"+
54806 "\u0000\u0000\u0000\u1144\u1145\u0001\u0000\u0000\u0000\u1145\u0261\u0001"+
54807 "\u0000\u0000\u0000\u1146\u1147\u0005\u025c\u0000\u0000\u1147\u115b\u0007"+
54808 "\u0000\u0000\u0000\u1148\u1152\u0005\u025a\u0000\u0000\u1149\u1153\u0005"+
54809 "\u0115\u0000\u0000\u114a\u1150\u0005`\u0000\u0000\u114b\u114c\u0005\u001f"+
54810 "\u0000\u0000\u114c\u114d\u0005\u025b\u0000\u0000\u114d\u114e\u0005\u0018"+
54811 "\u0000\u0000\u114e\u114f\u0007\u0000\u0000\u0000\u114f\u1151\u0005 \u0000"+
54812 "\u0000\u1150\u114b\u0001\u0000\u0000\u0000\u1150\u1151\u0001\u0000\u0000"+
54813 "\u0000\u1151\u1153\u0001\u0000\u0000\u0000\u1152\u1149\u0001\u0000\u0000"+
54814 "\u0000\u1152\u114a\u0001\u0000\u0000\u0000\u1153\u115b\u0001\u0000\u0000"+
54815 "\u0000\u1154\u1155\u0005\u0259\u0000\u0000\u1155\u115b\u0007\u0000\u0000"+
54816 "\u0000\u1156\u1157\u0005\u0258\u0000\u0000\u1157\u115b\u0007\u0000\u0000"+
54817 "\u0000\u1158\u1159\u0005\u0257\u0000\u0000\u1159\u115b\u0007\u0000\u0000"+
54818 "\u0000\u115a\u1146\u0001\u0000\u0000\u0000\u115a\u1148\u0001\u0000\u0000"+
54819 "\u0000\u115a\u1154\u0001\u0000\u0000\u0000\u115a\u1156\u0001\u0000\u0000"+
54820 "\u0000\u115a\u1158\u0001\u0000\u0000\u0000\u115b\u0263\u0001\u0000\u0000"+
54821 "\u0000\u115c\u115d\u0005\u0255\u0000\u0000\u115d\u115e\u0005\u001f\u0000"+
54822 "\u0000\u115e\u115f\u0005\u0256\u0000\u0000\u115f\u1160\u0005\u0018\u0000"+
54823 "\u0000\u1160\u1161\u0007\u0000\u0000\u0000\u1161\u1162\u0005 \u0000\u0000"+
54824 "\u1162\u0265\u0001\u0000\u0000\u0000\u1163\u1177\u0005\u0254\u0000\u0000"+
54825 "\u1164\u1165\u0005\u0018\u0000\u0000\u1165\u1178\u0005\u0115\u0000\u0000"+
54826 "\u1166\u1167\u0005\u0018\u0000\u0000\u1167\u1169\u0005`\u0000\u0000\u1168"+
54827 "\u1166\u0001\u0000\u0000\u0000\u1168\u1169\u0001\u0000\u0000\u0000\u1169"+
54828 "\u1175\u0001\u0000\u0000\u0000\u116a\u116b\u0005\u001f\u0000\u0000\u116b"+
54829 "\u1170\u0003\u0268\u0134\u0000\u116c\u116d\u0005%\u0000\u0000\u116d\u116f"+
54830 "\u0003\u0268\u0134\u0000\u116e\u116c\u0001\u0000\u0000\u0000\u116f\u1172"+
54831 "\u0001\u0000\u0000\u0000\u1170\u116e\u0001\u0000\u0000\u0000\u1170\u1171"+
54832 "\u0001\u0000\u0000\u0000\u1171\u1173\u0001\u0000\u0000\u0000\u1172\u1170"+
54833 "\u0001\u0000\u0000\u0000\u1173\u1174\u0005 \u0000\u0000\u1174\u1176\u0001"+
54834 "\u0000\u0000\u0000\u1175\u116a\u0001\u0000\u0000\u0000\u1175\u1176\u0001"+
54835 "\u0000\u0000\u0000\u1176\u1178\u0001\u0000\u0000\u0000\u1177\u1164\u0001"+
54836 "\u0000\u0000\u0000\u1177\u1168\u0001\u0000\u0000\u0000\u1178\u0267\u0001"+
54837 "\u0000\u0000\u0000\u1179\u117a\u0005\u0253\u0000\u0000\u117a\u117b\u0005"+
54838 "\u0018\u0000\u0000\u117b\u1181\u0007\u0000\u0000\u0000\u117c\u117d\u0005"+
54839 "\u0252\u0000\u0000\u117d\u117e\u0005\u0018\u0000\u0000\u117e\u117f\u0005"+
54840 "\u02af\u0000\u0000\u117f\u1181\u0007?\u0000\u0000\u1180\u1179\u0001\u0000"+
54841 "\u0000\u0000\u1180\u117c\u0001\u0000\u0000\u0000\u1181\u0269\u0001\u0000"+
54842 "\u0000\u0000\u1182\u1183\u0005\u0250\u0000\u0000\u1183\u1187\u0007\u0000"+
54843 "\u0000\u0000\u1184\u1185\u0005\u024e\u0000\u0000\u1185\u1187\u0007@\u0000"+
54844 "\u0000\u1186\u1182\u0001\u0000\u0000\u0000\u1186\u1184\u0001\u0000\u0000"+
54845 "\u0000\u1187\u026b\u0001\u0000\u0000\u0000\u1188\u1189\u0005\u01eb\u0000"+
54846 "\u0000\u1189\u119c\u0007\u0000\u0000\u0000\u118a\u118b\u0005\u01ec\u0000"+
54847 "\u0000\u118b\u119c\u0007\u0000\u0000\u0000\u118c\u118d\u0005\u0276\u0000"+
54848 "\u0000\u118d\u118e\u0005\u0018\u0000\u0000\u118e\u119c\u0005\u02ae\u0000"+
54849 "\u0000\u118f\u1190\u0005\u0277\u0000\u0000\u1190\u1191\u0005\u0018\u0000"+
54850 "\u0000\u1191\u119c\u0005\u02ae\u0000\u0000\u1192\u1193\u0005\u0279\u0000"+
54851 "\u0000\u1193\u1194\u0005\u0018\u0000\u0000\u1194\u119c\u0007\u0000\u0000"+
54852 "\u0000\u1195\u1196\u0005\u027a\u0000\u0000\u1196\u1197\u0005\u0018\u0000"+
54853 "\u0000\u1197\u119c\u0007\u0000\u0000\u0000\u1198\u1199\u0005\u027b\u0000"+
54854 "\u0000\u1199\u119a\u0005\u0018\u0000\u0000\u119a\u119c\u0005\u02af\u0000"+
54855 "\u0000\u119b\u1188\u0001\u0000\u0000\u0000\u119b\u118a\u0001\u0000\u0000"+
54856 "\u0000\u119b\u118c\u0001\u0000\u0000\u0000\u119b\u118f\u0001\u0000\u0000"+
54857 "\u0000\u119b\u1192\u0001\u0000\u0000\u0000\u119b\u1195\u0001\u0000\u0000"+
54858 "\u0000\u119b\u1198\u0001\u0000\u0000\u0000\u119c\u026d\u0001\u0000\u0000"+
54859 "\u0000\u119d\u11b1\u0005\u024d\u0000\u0000\u119e\u119f\u0005\u0018\u0000"+
54860 "\u0000\u119f\u11b2\u0005\u0115\u0000\u0000\u11a0\u11a1\u0005\u0018\u0000"+
54861 "\u0000\u11a1\u11a3\u0005`\u0000\u0000\u11a2\u11a0\u0001\u0000\u0000\u0000"+
54862 "\u11a2\u11a3\u0001\u0000\u0000\u0000\u11a3\u11af\u0001\u0000\u0000\u0000"+
54863 "\u11a4\u11a5\u0005\u001f\u0000\u0000\u11a5\u11aa\u0003\u0270\u0138\u0000"+
54864 "\u11a6\u11a7\u0005%\u0000\u0000\u11a7\u11a9\u0003\u0270\u0138\u0000\u11a8"+
54865 "\u11a6\u0001\u0000\u0000\u0000\u11a9\u11ac\u0001\u0000\u0000\u0000\u11aa"+
54866 "\u11a8\u0001\u0000\u0000\u0000\u11aa\u11ab\u0001\u0000\u0000\u0000\u11ab"+
54867 "\u11ad\u0001\u0000\u0000\u0000\u11ac\u11aa\u0001\u0000\u0000\u0000\u11ad"+
54868 "\u11ae\u0005 \u0000\u0000\u11ae\u11b0\u0001\u0000\u0000\u0000\u11af\u11a4"+
54869 "\u0001\u0000\u0000\u0000\u11af\u11b0\u0001\u0000\u0000\u0000\u11b0\u11b2"+
54870 "\u0001\u0000\u0000\u0000\u11b1\u119e\u0001\u0000\u0000\u0000\u11b1\u11a2"+
54871 "\u0001\u0000\u0000\u0000\u11b2\u026f\u0001\u0000\u0000\u0000\u11b3\u11b4"+
54872 "\u0005\u024c\u0000\u0000\u11b4\u11b5\u0005\u0018\u0000\u0000\u11b5\u11e0"+
54873 "\u00079\u0000\u0000\u11b6\u11b7\u0005\u0249\u0000\u0000\u11b7\u11b8\u0005"+
54874 "\u0018\u0000\u0000\u11b8\u11b9\u0005\u001f\u0000\u0000\u11b9\u11ba\u0005"+
54875 "\u024b\u0000\u0000\u11ba\u11bb\u0005\u0018\u0000\u0000\u11bb\u11bc\u0005"+
54876 "\u02af\u0000\u0000\u11bc\u11e0\u0005 \u0000\u0000\u11bd\u11be\u0005\u0248"+
54877 "\u0000\u0000\u11be\u11bf\u0005\u0018\u0000\u0000\u11bf\u11e0\u0005\u02af"+
54878 "\u0000\u0000\u11c0\u11c1\u0005\u0247\u0000\u0000\u11c1\u11c2\u0005\u0018"+
54879 "\u0000\u0000\u11c2\u11e0\u0005\u02af\u0000\u0000\u11c3\u11c4\u0005\u0246"+
54880 "\u0000\u0000\u11c4\u11c5\u0005\u0018\u0000\u0000\u11c5\u11e0\u0005\u02af"+
54881 "\u0000\u0000\u11c6\u11c7\u0005\u0245\u0000\u0000\u11c7\u11c8\u0005\u0018"+
54882 "\u0000\u0000\u11c8\u11e0\u0007A\u0000\u0000\u11c9\u11ca\u0005\u0244\u0000"+
54883 "\u0000\u11ca\u11cb\u0005\u0018\u0000\u0000\u11cb\u11e0\u0007B\u0000\u0000"+
54884 "\u11cc\u11cd\u0005\u0243\u0000\u0000\u11cd\u11ce\u0005\u0018\u0000\u0000"+
54885 "\u11ce\u11e0\u0005\u02af\u0000\u0000\u11cf\u11d0\u0005\u0242\u0000\u0000"+
54886 "\u11d0\u11d1\u0005\u0018\u0000\u0000\u11d1\u11e0\u0007\u0000\u0000\u0000"+
54887 "\u11d2\u11d3\u0005\u0241\u0000\u0000\u11d3\u11d4\u0005\u0018\u0000\u0000"+
54888 "\u11d4\u11d5\u0005\u001f\u0000\u0000\u11d5\u11da\u0003\u0272\u0139\u0000"+
54889 "\u11d6\u11d7\u0005%\u0000\u0000\u11d7\u11d9\u0003\u0272\u0139\u0000\u11d8"+
54890 "\u11d6\u0001\u0000\u0000\u0000\u11d9\u11dc\u0001\u0000\u0000\u0000\u11da"+
54891 "\u11d8\u0001\u0000\u0000\u0000\u11da\u11db\u0001\u0000\u0000\u0000\u11db"+
54892 "\u11dd\u0001\u0000\u0000\u0000\u11dc\u11da\u0001\u0000\u0000\u0000\u11dd"+
54893 "\u11de\u0005 \u0000\u0000\u11de\u11e0\u0001\u0000\u0000\u0000\u11df\u11b3"+
54894 "\u0001\u0000\u0000\u0000\u11df\u11b6\u0001\u0000\u0000\u0000\u11df\u11bd"+
54895 "\u0001\u0000\u0000\u0000\u11df\u11c0\u0001\u0000\u0000\u0000\u11df\u11c3"+
54896 "\u0001\u0000\u0000\u0000\u11df\u11c6\u0001\u0000\u0000\u0000\u11df\u11c9"+
54897 "\u0001\u0000\u0000\u0000\u11df\u11cc\u0001\u0000\u0000\u0000\u11df\u11cf"+
54898 "\u0001\u0000\u0000\u0000\u11df\u11d2\u0001\u0000\u0000\u0000\u11e0\u0271"+
54899 "\u0001\u0000\u0000\u0000\u11e1\u11e2\u0005\u023f\u0000\u0000\u11e2\u11e3"+
54900 "\u0005\u0018\u0000\u0000\u11e3\u11e4\u0005\u02af\u0000\u0000\u11e4\u11ef"+
54901 "\u0007C\u0000\u0000\u11e5\u11e6\u0005\u0240\u0000\u0000\u11e6\u11e7\u0005"+
54902 "\u0018\u0000\u0000\u11e7\u11ef\u0005\u02af\u0000\u0000\u11e8\u11e9\u0005"+
54903 "\u023e\u0000\u0000\u11e9\u11ea\u0005\u0018\u0000\u0000\u11ea\u11ef\u0005"+
54904 "\u02af\u0000\u0000\u11eb\u11ec\u0005\u023d\u0000\u0000\u11ec\u11ed\u0005"+
54905 "\u0018\u0000\u0000\u11ed\u11ef\u0005\u02af\u0000\u0000\u11ee\u11e1\u0001"+
54906 "\u0000\u0000\u0000\u11ee\u11e5\u0001\u0000\u0000\u0000\u11ee\u11e8\u0001"+
54907 "\u0000\u0000\u0000\u11ee\u11eb\u0001\u0000\u0000\u0000\u11ef\u0273\u0001"+
54908 "\u0000\u0000\u0000\u11f0\u11f1\u0005\u023c\u0000\u0000\u11f1\u11f7\u0007"+
54909 "D\u0000\u0000\u11f2\u11f3\u0005\u023a\u0000\u0000\u11f3\u11f7\u0007\u0000"+
54910 "\u0000\u0000\u11f4\u11f5\u0005\u0238\u0000\u0000\u11f5\u11f7\u0007E\u0000"+
54911 "\u0000\u11f6\u11f0\u0001\u0000\u0000\u0000\u11f6\u11f2\u0001\u0000\u0000"+
54912 "\u0000\u11f6\u11f4\u0001\u0000\u0000\u0000\u11f7\u0275\u0001\u0000\u0000"+
54913 "\u0000\u11f8\u11f9\u0005\u0237\u0000\u0000\u11f9\u120e\u0007\u0000\u0000"+
54914 "\u0000\u11fa\u11fb\u0005\u0236\u0000\u0000\u11fb\u120e\u0007\u0000\u0000"+
54915 "\u0000\u11fc\u11fd\u0005\u0235\u0000\u0000\u11fd\u120e\u0007\u0000\u0000"+
54916 "\u0000\u11fe\u11ff\u0005\u0234\u0000\u0000\u11ff\u120e\u0007\u0000\u0000"+
54917 "\u0000\u1200\u1201\u0005\u0233\u0000\u0000\u1201\u120e\u0007\u0000\u0000"+
54918 "\u0000\u1202\u1203\u0005\u0232\u0000\u0000\u1203\u1204\u0005\u0018\u0000"+
54919 "\u0000\u1204\u120e\u0005\u02af\u0000\u0000\u1205\u1206\u0005\u0231\u0000"+
54920 "\u0000\u1206\u120e\u0007\u0000\u0000\u0000\u1207\u1208\u0005\u0230\u0000"+
54921 "\u0000\u1208\u120e\u0007\u0000\u0000\u0000\u1209\u120a\u0005\u022f\u0000"+
54922 "\u0000\u120a\u120e\u0007\u0000\u0000\u0000\u120b\u120c\u0005\u022e\u0000"+
54923 "\u0000\u120c\u120e\u0007\u0000\u0000\u0000\u120d\u11f8\u0001\u0000\u0000"+
54924 "\u0000\u120d\u11fa\u0001\u0000\u0000\u0000\u120d\u11fc\u0001\u0000\u0000"+
54925 "\u0000\u120d\u11fe\u0001\u0000\u0000\u0000\u120d\u1200\u0001\u0000\u0000"+
54926 "\u0000\u120d\u1202\u0001\u0000\u0000\u0000\u120d\u1205\u0001\u0000\u0000"+
54927 "\u0000\u120d\u1207\u0001\u0000\u0000\u0000\u120d\u1209\u0001\u0000\u0000"+
54928 "\u0000\u120d\u120b\u0001\u0000\u0000\u0000\u120e\u0277\u0001\u0000\u0000"+
54929 "\u0000\u120f\u1210\u0005\u022d\u0000\u0000\u1210\u1217\u0007\u0000\u0000"+
54930 "\u0000\u1211\u1212\u0005\u022c\u0000\u0000\u1212\u1217\u0007\u0000\u0000"+
54931 "\u0000\u1213\u1214\u0005\u022b\u0000\u0000\u1214\u1215\u0005\u0018\u0000"+
54932 "\u0000\u1215\u1217\u0007\u0000\u0000\u0000\u1216\u120f\u0001\u0000\u0000"+
54933 "\u0000\u1216\u1211\u0001\u0000\u0000\u0000\u1216\u1213\u0001\u0000\u0000"+
54934 "\u0000\u1217\u0279\u0001\u0000\u0000\u0000\u1218\u121f\u0005\u022a\u0000"+
54935 "\u0000\u1219\u121f\u0005\u0229\u0000\u0000\u121a\u121f\u0005\u0228\u0000"+
54936 "\u0000\u121b\u121f\u0005\u0227\u0000\u0000\u121c\u121d\u0005\u0226\u0000"+
54937 "\u0000\u121d\u121f\u0007\u0000\u0000\u0000\u121e\u1218\u0001\u0000\u0000"+
54938 "\u0000\u121e\u1219\u0001\u0000\u0000\u0000\u121e\u121a\u0001\u0000\u0000"+
54939 "\u0000\u121e\u121b\u0001\u0000\u0000\u0000\u121e\u121c\u0001\u0000\u0000"+
54940 "\u0000\u121f\u027b\u0001\u0000\u0000\u0000\u1220\u1221\u0005\u0224\u0000"+
54941 "\u0000\u1221\u1222\u0005\u0018\u0000\u0000\u1222\u1223\u0005\u02af\u0000"+
54942 "\u0000\u1223\u1224\u0007F\u0000\u0000\u1224\u027d\u0001\u0000\u0000\u0000"+
54943 "\u1225\u1226\u0005}\u0000\u0000\u1226\u1227\u0005\u0207\u0000\u0000\u1227"+
54944 "\u1229\u0005\u02af\u0000\u0000\u1228\u122a\u0005\u0225\u0000\u0000\u1229"+
54945 "\u1228\u0001\u0000\u0000\u0000\u1229\u122a\u0001\u0000\u0000\u0000\u122a"+
54946 "\u122f\u0001\u0000\u0000\u0000\u122b\u122c\u0005}\u0000\u0000\u122c\u122f"+
54947 "\u0005\u0222\u0000\u0000\u122d\u122f\u0005\u0223\u0000\u0000\u122e\u1225"+
54948 "\u0001\u0000\u0000\u0000\u122e\u122b\u0001\u0000\u0000\u0000\u122e\u122d"+
54949 "\u0001\u0000\u0000\u0000\u122f\u027f\u0001\u0000\u0000\u0000\u1230\u1231"+
54950 "\u0005\u001f\u0000\u0000\u1231\u1236\u0003D\"\u0000\u1232\u1233\u0005"+
54951 "%\u0000\u0000\u1233\u1235\u0003D\"\u0000\u1234\u1232\u0001\u0000\u0000"+
54952 "\u0000\u1235\u1238\u0001\u0000\u0000\u0000\u1236\u1234\u0001\u0000\u0000"+
54953 "\u0000\u1236\u1237\u0001\u0000\u0000\u0000\u1237\u1239\u0001\u0000\u0000"+
54954 "\u0000\u1238\u1236\u0001\u0000\u0000\u0000\u1239\u123a\u0005 \u0000\u0000"+
54955 "\u123a\u0281\u0001\u0000\u0000\u0000\u123b\u123c\u0005\u001f\u0000\u0000"+
54956 "\u123c\u1241\u0003\u0284\u0142\u0000\u123d\u123e\u0005%\u0000\u0000\u123e"+
54957 "\u1240\u0003\u0284\u0142\u0000\u123f\u123d\u0001\u0000\u0000\u0000\u1240"+
54958 "\u1243\u0001\u0000\u0000\u0000\u1241\u123f\u0001\u0000\u0000\u0000\u1241"+
54959 "\u1242\u0001\u0000\u0000\u0000\u1242\u1244\u0001\u0000\u0000\u0000\u1243"+
54960 "\u1241\u0001\u0000\u0000\u0000\u1244\u1245\u0005 \u0000\u0000\u1245\u0283"+
54961 "\u0001\u0000\u0000\u0000\u1246\u1247\u00059\u0000\u0000\u1247\u1248\u0005"+
54962 "\u015a\u0000\u0000\u1248\u124d\u0003D\"\u0000\u1249\u124a\u00054\u0000"+
54963 "\u0000\u124a\u124b\u0005\u015a\u0000\u0000\u124b\u124d\u0003D\"\u0000"+
54964 "\u124c\u1246\u0001\u0000\u0000\u0000\u124c\u1249\u0001\u0000\u0000\u0000"+
54965 "\u124d\u0285\u0001\u0000\u0000\u0000\u124e\u1256\u00034\u001a\u0000\u124f"+
54966 "\u1250\u0005\u0280\u0000\u0000\u1250\u1256\u0003\u00cae\u0000\u1251\u1252"+
54967 "\u00034\u001a\u0000\u1252\u1253\u0005\u0280\u0000\u0000\u1253\u1254\u0003"+
54968 "\u00cae\u0000\u1254\u1256\u0001\u0000\u0000\u0000\u1255\u124e\u0001\u0000"+
54969 "\u0000\u0000\u1255\u124f\u0001\u0000\u0000\u0000\u1255\u1251\u0001\u0000"+
54970 "\u0000\u0000\u1256\u0287\u0001\u0000\u0000\u0000\u1257\u125d\u0003\u00e6"+
54971 "s\u0000\u1258\u125d\u0003\u00f2y\u0000\u1259\u125d\u0003\u02fe\u017f\u0000"+
54972 "\u125a\u125d\u0003\u0310\u0188\u0000\u125b\u125d\u0003\u0316\u018b\u0000"+
54973 "\u125c\u1257\u0001\u0000\u0000\u0000\u125c\u1258\u0001\u0000\u0000\u0000"+
54974 "\u125c\u1259\u0001\u0000\u0000\u0000\u125c\u125a\u0001\u0000\u0000\u0000"+
54975 "\u125c\u125b\u0001\u0000\u0000\u0000\u125d\u0289\u0001\u0000\u0000\u0000"+
54976 "\u125e\u1261\u0003\u028c\u0146\u0000\u125f\u1261\u0003\u028e\u0147\u0000"+
54977 "\u1260\u125e\u0001\u0000\u0000\u0000\u1260\u125f\u0001\u0000\u0000\u0000"+
54978 "\u1261\u028b\u0001\u0000\u0000\u0000\u1262\u1263\u00052\u0000\u0000\u1263"+
54979 "\u1264\u0005;\u0000\u0000\u1264\u1266\u0003@ \u0000\u1265\u1267\u0003"+
54980 "P(\u0000\u1266\u1265\u0001\u0000\u0000\u0000\u1266\u1267\u0001\u0000\u0000"+
54981 "\u0000\u1267\u1268\u0001\u0000\u0000\u0000\u1268\u1269\u0003\u0290\u0148"+
54982 "\u0000\u1269\u126a\u0005_\u0000\u0000\u126a\u126b\u0003\u02ae\u0157\u0000"+
54983 "\u126b\u126c\u0003\u0292\u0149\u0000\u126c\u028d\u0001\u0000\u0000\u0000"+
54984 "\u126d\u126e\u00052\u0000\u0000\u126e\u126f\u0005\u0166\u0000\u0000\u126f"+
54985 "\u1270\u0005;\u0000\u0000\u1270\u1271\u0003@ \u0000\u1271\u1272\u0005"+
54986 "\u00d2\u0000\u0000\u1272\u1273\u0005\u001f\u0000\u0000\u1273\u1274\u0003"+
54987 "\u001c\u000e\u0000\u1274\u127b\u0005 \u0000\u0000\u1275\u1276\u0005L\u0000"+
54988 "\u0000\u1276\u1277\u0005\u001f\u0000\u0000\u1277\u1278\u0005\u0284\u0000"+
54989 "\u0000\u1278\u1279\u0005\u0018\u0000\u0000\u1279\u127a\u0005\u02b0\u0000"+
54990 "\u0000\u127a\u127c\u0005 \u0000\u0000\u127b\u1275\u0001\u0000\u0000\u0000"+
54991 "\u127b\u127c\u0001\u0000\u0000\u0000\u127c\u127d\u0001\u0000\u0000\u0000"+
54992 "\u127d\u127e\u0005_\u0000\u0000\u127e\u127f\u0003\u02ae\u0157\u0000\u127f"+
54993 "\u028f\u0001\u0000\u0000\u0000\u1280\u1281\u0005L\u0000\u0000\u1281\u1282"+
54994 "\u0005\u001f\u0000\u0000\u1282\u128c\u0003\u0190\u00c8\u0000\u1283\u1284"+
54995 "\u0005%\u0000\u0000\u1284\u1289\u0003\u0184\u00c2\u0000\u1285\u1286\u0005"+
54996 "%\u0000\u0000\u1286\u1288\u0003\u0184\u00c2\u0000\u1287\u1285\u0001\u0000"+
54997 "\u0000\u0000\u1288\u128b\u0001\u0000\u0000\u0000\u1289\u1287\u0001\u0000"+
54998 "\u0000\u0000\u1289\u128a\u0001\u0000\u0000\u0000\u128a\u128d\u0001\u0000"+
54999 "\u0000\u0000\u128b\u1289\u0001\u0000\u0000\u0000\u128c\u1283\u0001\u0000"+
55000 "\u0000\u0000\u128c\u128d\u0001\u0000\u0000\u0000\u128d\u128e\u0001\u0000"+
55001 "\u0000\u0000\u128e\u128f\u0005 \u0000\u0000\u128f\u0291\u0001\u0000\u0000"+
55002 "\u0000\u1290\u1291\u0005\u00e6\u0000\u0000\u1291\u1292\u0005\u001f\u0000"+
55003 "\u0000\u1292\u1297\u0003\u02e6\u0173\u0000\u1293\u1294\u0005%\u0000\u0000"+
55004 "\u1294\u1296\u0003\u02e6\u0173\u0000\u1295\u1293\u0001\u0000\u0000\u0000"+
55005 "\u1296\u1299\u0001\u0000\u0000\u0000\u1297\u1295\u0001\u0000\u0000\u0000"+
55006 "\u1297\u1298\u0001\u0000\u0000\u0000\u1298\u129a\u0001\u0000\u0000\u0000"+
55007 "\u1299\u1297\u0001\u0000\u0000\u0000\u129a\u129b\u0005 \u0000\u0000\u129b"+
55008 "\u129d\u0001\u0000\u0000\u0000\u129c\u1290\u0001\u0000\u0000\u0000\u129c"+
55009 "\u129d\u0001\u0000\u0000\u0000\u129d\u0293\u0001\u0000\u0000\u0000\u129e"+
55010 "\u12a0\u0003\u02d6\u016b\u0000\u129f\u129e\u0001\u0000\u0000\u0000\u129f"+
55011 "\u12a0\u0001\u0000\u0000\u0000\u12a0\u12a1\u0001\u0000\u0000\u0000\u12a1"+
55012 "\u12a3\u0005/\u0000\u0000\u12a2\u12a4\u0003\u02ba\u015d\u0000\u12a3\u12a2"+
55013 "\u0001\u0000\u0000\u0000\u12a3\u12a4\u0001\u0000\u0000\u0000\u12a4\u12a6"+
55014 "\u0001\u0000\u0000\u0000\u12a5\u12a7\u0005J\u0000\u0000\u12a6\u12a5\u0001"+
55015 "\u0000\u0000\u0000\u12a6\u12a7\u0001\u0000\u0000\u0000\u12a7\u12a8\u0001"+
55016 "\u0000\u0000\u0000\u12a8\u12ad\u0003@ \u0000\u12a9\u12ab\u0005_\u0000"+
55017 "\u0000\u12aa\u12a9\u0001\u0000\u0000\u0000\u12aa\u12ab\u0001\u0000\u0000"+
55018 "\u0000\u12ab\u12ac\u0001\u0000\u0000\u0000\u12ac\u12ae\u0003\\.\u0000"+
55019 "\u12ad\u12aa\u0001\u0000\u0000\u0000\u12ad\u12ae\u0001\u0000\u0000\u0000"+
55020 "\u12ae\u12b2\u0001\u0000\u0000\u0000\u12af\u12b3\u0003\u0296\u014b\u0000"+
55021 "\u12b0\u12b3\u0003\u0298\u014c\u0000\u12b1\u12b3\u0003\u029a\u014d\u0000"+
55022 "\u12b2\u12af\u0001\u0000\u0000\u0000\u12b2\u12b0\u0001\u0000\u0000\u0000"+
55023 "\u12b2\u12b1\u0001\u0000\u0000\u0000\u12b3\u0295\u0001\u0000\u0000\u0000"+
55024 "\u12b4\u12b6\u0003P(\u0000\u12b5\u12b4\u0001\u0000\u0000\u0000\u12b5\u12b6"+
55025 "\u0001\u0000\u0000\u0000\u12b6\u12b8\u0001\u0000\u0000\u0000\u12b7\u12b9"+
55026 "\u0003\u02dc\u016e\u0000\u12b8\u12b7\u0001\u0000\u0000\u0000\u12b8\u12b9"+
55027 "\u0001\u0000\u0000\u0000\u12b9\u12ba\u0001\u0000\u0000\u0000\u12ba\u12bb"+
55028 "\u0005\u0098\u0000\u0000\u12bb\u12bc\u0005K\u0000\u0000\u12bc\u0297\u0001"+
55029 "\u0000\u0000\u0000\u12bd\u12bf\u0003P(\u0000\u12be\u12bd\u0001\u0000\u0000"+
55030 "\u0000\u12be\u12bf\u0001\u0000\u0000\u0000\u12bf\u12c1\u0001\u0000\u0000"+
55031 "\u0000\u12c0\u12c2\u0003\u02dc\u016e\u0000\u12c1\u12c0\u0001\u0000\u0000"+
55032 "\u0000\u12c1\u12c2\u0001\u0000\u0000\u0000\u12c2\u12c3\u0001\u0000\u0000"+
55033 "\u0000\u12c3\u12c4\u0005K\u0000\u0000\u12c4\u12c9\u0003\u02a2\u0151\u0000"+
55034 "\u12c5\u12c6\u0005%\u0000\u0000\u12c6\u12c8\u0003\u02a2\u0151\u0000\u12c7"+
55035 "\u12c5\u0001\u0000\u0000\u0000\u12c8\u12cb\u0001\u0000\u0000\u0000\u12c9"+
55036 "\u12c7\u0001\u0000\u0000\u0000\u12c9\u12ca\u0001\u0000\u0000\u0000\u12ca"+
55037 "\u0299\u0001\u0000\u0000\u0000\u12cb\u12c9\u0001\u0000\u0000\u0000\u12cc"+
55038 "\u12ce\u0003P(\u0000\u12cd\u12cc\u0001\u0000\u0000\u0000\u12cd\u12ce\u0001"+
55039 "\u0000\u0000\u0000\u12ce\u12d0\u0001\u0000\u0000\u0000\u12cf\u12d1\u0003"+
55040 "\u02dc\u016e\u0000\u12d0\u12cf\u0001\u0000\u0000\u0000\u12d0\u12d1\u0001"+
55041 "\u0000\u0000\u0000\u12d1\u12d2\u0001\u0000\u0000\u0000\u12d2\u12d3\u0003"+
55042 "\u02ae\u0157\u0000\u12d3\u029b\u0001\u0000\u0000\u0000\u12d4\u12d6\u0003"+
55043 "\u02d6\u016b\u0000\u12d5\u12d4\u0001\u0000\u0000\u0000\u12d5\u12d6\u0001"+
55044 "\u0000\u0000\u0000\u12d6\u12d7\u0001\u0000\u0000\u0000\u12d7\u12d9\u0005"+
55045 "0\u0000\u0000\u12d8\u12da\u0003\u02ba\u015d\u0000\u12d9\u12d8\u0001\u0000"+
55046 "\u0000\u0000\u12d9\u12da\u0001\u0000\u0000\u0000\u12da\u12db\u0001\u0000"+
55047 "\u0000\u0000\u12db\u12dc\u0003\u02c4\u0162\u0000\u12dc\u12de\u0003\u02a0"+
55048 "\u0150\u0000\u12dd\u12df\u0003\u02ce\u0167\u0000\u12de\u12dd\u0001\u0000"+
55049 "\u0000\u0000\u12de\u12df\u0001\u0000\u0000\u0000\u12df\u12e2\u0001\u0000"+
55050 "\u0000\u0000\u12e0\u12e1\u0005\u00e6\u0000\u0000\u12e1\u12e3\u0003\u02e6"+
55051 "\u0173\u0000\u12e2\u12e0\u0001\u0000\u0000\u0000\u12e2\u12e3\u0001\u0000"+
55052 "\u0000\u0000\u12e3\u029d\u0001\u0000\u0000\u0000\u12e4\u12e5\u0003H$\u0000"+
55053 "\u12e5\u12e6\u0005\u0018\u0000\u0000\u12e6\u12e7\u0003\u02a4\u0152\u0000"+
55054 "\u12e7\u029f\u0001\u0000\u0000\u0000\u12e8\u12e9\u0005:\u0000\u0000\u12e9"+
55055 "\u12ee\u0003\u029e\u014f\u0000\u12ea\u12eb\u0005%\u0000\u0000\u12eb\u12ed"+
55056 "\u0003\u029e\u014f\u0000\u12ec\u12ea\u0001\u0000\u0000\u0000\u12ed\u12f0"+
55057 "\u0001\u0000\u0000\u0000\u12ee\u12ec\u0001\u0000\u0000\u0000\u12ee\u12ef"+
55058 "\u0001\u0000\u0000\u0000\u12ef\u12f2\u0001\u0000\u0000\u0000\u12f0\u12ee"+
55059 "\u0001\u0000\u0000\u0000\u12f1\u12f3\u0003\u02c2\u0161\u0000\u12f2\u12f1"+
55060 "\u0001\u0000\u0000\u0000\u12f2\u12f3\u0001\u0000\u0000\u0000\u12f3\u02a1"+
55061 "\u0001\u0000\u0000\u0000\u12f4\u12f5\u0005\u001f\u0000\u0000\u12f5\u12fa"+
55062 "\u0003\u02a4\u0152\u0000\u12f6\u12f7\u0005%\u0000\u0000\u12f7\u12f9\u0003"+
55063 "\u02a4\u0152\u0000\u12f8\u12f6\u0001\u0000\u0000\u0000\u12f9\u12fc\u0001"+
55064 "\u0000\u0000\u0000\u12fa\u12f8\u0001\u0000\u0000\u0000\u12fa\u12fb\u0001"+
55065 "\u0000\u0000\u0000\u12fb\u12fd\u0001\u0000\u0000\u0000\u12fc\u12fa\u0001"+
55066 "\u0000\u0000\u0000\u12fd\u12fe\u0005 \u0000\u0000\u12fe\u1302\u0001\u0000"+
55067 "\u0000\u0000\u12ff\u1300\u0005\u001f\u0000\u0000\u1300\u1302\u0005 \u0000"+
55068 "\u0000\u1301\u12f4\u0001\u0000\u0000\u0000\u1301\u12ff\u0001\u0000\u0000"+
55069 "\u0000\u1302\u02a3\u0001\u0000\u0000\u0000\u1303\u1306\u0003b1\u0000\u1304"+
55070 "\u1306\u0005\u0098\u0000\u0000\u1305\u1303\u0001\u0000\u0000\u0000\u1305"+
55071 "\u1304\u0001\u0000\u0000\u0000\u1306\u02a5\u0001\u0000\u0000\u0000\u1307"+
55072 "\u1309\u0003\u02d6\u016b\u0000\u1308\u1307\u0001\u0000\u0000\u0000\u1308"+
55073 "\u1309\u0001\u0000\u0000\u0000\u1309\u130a\u0001\u0000\u0000\u0000\u130a"+
55074 "\u130c\u00051\u0000\u0000\u130b\u130d\u0003\u02ba\u015d\u0000\u130c\u130b"+
55075 "\u0001\u0000\u0000\u0000\u130c\u130d\u0001\u0000\u0000\u0000\u130d\u1310"+
55076 "\u0001\u0000\u0000\u0000\u130e\u1311\u0003\u02a8\u0154\u0000\u130f\u1311"+
55077 "\u0003\u02aa\u0155\u0000\u1310\u130e\u0001\u0000\u0000\u0000\u1310\u130f"+
55078 "\u0001\u0000\u0000\u0000\u1311\u1313\u0001\u0000\u0000\u0000\u1312\u1314"+
55079 "\u0003\u02dc\u016e\u0000\u1313\u1312\u0001\u0000\u0000\u0000\u1313\u1314"+
55080 "\u0001\u0000\u0000\u0000\u1314\u1316\u0001\u0000\u0000\u0000\u1315\u1317"+
55081 "\u0003\u02ce\u0167\u0000\u1316\u1315\u0001\u0000\u0000\u0000\u1316\u1317"+
55082 "\u0001\u0000\u0000\u0000\u1317\u131a\u0001\u0000\u0000\u0000\u1318\u1319"+
55083 "\u0005\u00e6\u0000\u0000\u1319\u131b\u0003\u02e6\u0173\u0000\u131a\u1318"+
55084 "\u0001\u0000\u0000\u0000\u131a\u131b\u0001\u0000\u0000\u0000\u131b\u02a7"+
55085 "\u0001\u0000\u0000\u0000\u131c\u131e\u0005T\u0000\u0000\u131d\u131c\u0001"+
55086 "\u0000\u0000\u0000\u131d\u131e\u0001\u0000\u0000\u0000\u131e\u1320\u0001"+
55087 "\u0000\u0000\u0000\u131f\u1321\u0005\u001f\u0000\u0000\u1320\u131f\u0001"+
55088 "\u0000\u0000\u0000\u1320\u1321\u0001\u0000\u0000\u0000\u1321\u1322\u0001"+
55089 "\u0000\u0000\u0000\u1322\u1324\u0003@ \u0000\u1323\u1325\u0005 \u0000"+
55090 "\u0000\u1324\u1323\u0001\u0000\u0000\u0000\u1324\u1325\u0001\u0000\u0000"+
55091 "\u0000\u1325\u132a\u0001\u0000\u0000\u0000\u1326\u1328\u0005_\u0000\u0000"+
55092 "\u1327\u1326\u0001\u0000\u0000\u0000\u1327\u1328\u0001\u0000\u0000\u0000"+
55093 "\u1328\u1329\u0001\u0000\u0000\u0000\u1329\u132b\u0003\\.\u0000\u132a"+
55094 "\u1327\u0001\u0000\u0000\u0000\u132a\u132b\u0001\u0000\u0000\u0000\u132b"+
55095 "\u02a9\u0001\u0000\u0000\u0000\u132c\u132d\u0003\u02ac\u0156\u0000\u132d"+
55096 "\u132e\u0005T\u0000\u0000\u132e\u132f\u0003\u02c4\u0162\u0000\u132f\u1336"+
55097 "\u0001\u0000\u0000\u0000\u1330\u1331\u0005T\u0000\u0000\u1331\u1332\u0003"+
55098 "\u02ac\u0156\u0000\u1332\u1333\u0005]\u0000\u0000\u1333\u1334\u0003\u02c4"+
55099 "\u0162\u0000\u1334\u1336\u0001\u0000\u0000\u0000\u1335\u132c\u0001\u0000"+
55100 "\u0000\u0000\u1335\u1330\u0001\u0000\u0000\u0000\u1336\u02ab\u0001\u0000"+
55101 "\u0000\u0000\u1337\u1339\u0003@ \u0000\u1338\u133a\u0005\u0015\u0000\u0000"+
55102 "\u1339\u1338\u0001\u0000\u0000\u0000\u1339\u133a\u0001\u0000\u0000\u0000"+
55103 "\u133a\u1342\u0001\u0000\u0000\u0000\u133b\u133c\u0005%\u0000\u0000\u133c"+
55104 "\u133e\u0003@ \u0000\u133d\u133f\u0005\u0015\u0000\u0000\u133e\u133d\u0001"+
55105 "\u0000\u0000\u0000\u133e\u133f\u0001\u0000\u0000\u0000\u133f\u1341\u0001"+
55106 "\u0000\u0000\u0000\u1340\u133b\u0001\u0000\u0000\u0000\u1341\u1344\u0001"+
55107 "\u0000\u0000\u0000\u1342\u1340\u0001\u0000\u0000\u0000\u1342\u1343\u0001"+
55108 "\u0000\u0000\u0000\u1343\u02ad\u0001\u0000\u0000\u0000\u1344\u1342\u0001"+
55109 "\u0000\u0000\u0000\u1345\u1346\u0003\u02b0\u0158\u0000\u1346\u02af\u0001"+
55110 "\u0000\u0000\u0000\u1347\u1353\u0003\u02b2\u0159\u0000\u1348\u134a\u0005"+
55111 "M\u0000\u0000\u1349\u134b\u0005p\u0000\u0000\u134a\u1349\u0001\u0000\u0000"+
55112 "\u0000\u134a\u134b\u0001\u0000\u0000\u0000\u134b\u134f\u0001\u0000\u0000"+
55113 "\u0000\u134c\u134f\u0005\u00ba\u0000\u0000\u134d\u134f\u0005\u00bb\u0000"+
55114 "\u0000\u134e\u1348\u0001\u0000\u0000\u0000\u134e\u134c\u0001\u0000\u0000"+
55115 "\u0000\u134e\u134d\u0001\u0000\u0000\u0000\u134f\u1350\u0001\u0000\u0000"+
55116 "\u0000\u1350\u1352\u0003\u02b2\u0159\u0000\u1351\u134e\u0001\u0000\u0000"+
55117 "\u0000\u1352\u1355\u0001\u0000\u0000\u0000\u1353\u1351\u0001\u0000\u0000"+
55118 "\u0000\u1353\u1354\u0001\u0000\u0000\u0000\u1354\u02b1\u0001\u0000\u0000"+
55119 "\u0000\u1355\u1353\u0001\u0000\u0000\u0000\u1356\u1358\u0003\u02f2\u0179"+
55120 "\u0000\u1357\u1356\u0001\u0000\u0000\u0000\u1357\u1358\u0001\u0000\u0000"+
55121 "\u0000\u1358\u1359\u0001\u0000\u0000\u0000\u1359\u135b\u0005.\u0000\u0000"+
55122 "\u135a\u135c\u0003\u02b4\u015a\u0000\u135b\u135a\u0001\u0000\u0000\u0000"+
55123 "\u135b\u135c\u0001\u0000\u0000\u0000\u135c\u135d\u0001\u0000\u0000\u0000"+
55124 "\u135d\u135f\u0003\u02b6\u015b\u0000\u135e\u1360\u0003\u02c2\u0161\u0000"+
55125 "\u135f\u135e\u0001\u0000\u0000\u0000\u135f\u1360\u0001\u0000\u0000\u0000"+
55126 "\u1360\u1362\u0001\u0000\u0000\u0000\u1361\u1363\u0003\u02ce\u0167\u0000"+
55127 "\u1362\u1361\u0001\u0000\u0000\u0000\u1362\u1363\u0001\u0000\u0000\u0000"+
55128 "\u1363\u1365\u0001\u0000\u0000\u0000\u1364\u1366\u0003\u02d0\u0168\u0000"+
55129 "\u1365\u1364\u0001\u0000\u0000\u0000\u1365\u1366\u0001\u0000\u0000\u0000"+
55130 "\u1366\u1368\u0001\u0000\u0000\u0000\u1367\u1369\u0003\u02d2\u0169\u0000"+
55131 "\u1368\u1367\u0001\u0000\u0000\u0000\u1368\u1369\u0001\u0000\u0000\u0000"+
55132 "\u1369\u136b\u0001\u0000\u0000\u0000\u136a\u136c\u0003\u0090H\u0000\u136b"+
55133 "\u136a\u0001\u0000\u0000\u0000\u136b\u136c\u0001\u0000\u0000\u0000\u136c"+
55134 "\u136e\u0001\u0000\u0000\u0000\u136d\u136f\u0003\u02ea\u0175\u0000\u136e"+
55135 "\u136d\u0001\u0000\u0000\u0000\u136e\u136f\u0001\u0000\u0000\u0000\u136f"+
55136 "\u02b3\u0001\u0000\u0000\u0000\u1370\u1371\u0007G\u0000\u0000\u1371\u02b5"+
55137 "\u0001\u0000\u0000\u0000\u1372\u1375\u0003\u02be\u015f\u0000\u1373\u1375"+
55138 "\u0003\u02b8\u015c\u0000\u1374\u1372\u0001\u0000\u0000\u0000\u1374\u1373"+
55139 "\u0001\u0000\u0000\u0000\u1375\u137a\u0001\u0000\u0000\u0000\u1376\u1377"+
55140 "\u0005%\u0000\u0000\u1377\u1379\u0003\u02b8\u015c\u0000\u1378\u1376\u0001"+
55141 "\u0000\u0000\u0000\u1379\u137c\u0001\u0000\u0000\u0000\u137a\u1378\u0001"+
55142 "\u0000\u0000\u0000\u137a\u137b\u0001\u0000\u0000\u0000\u137b\u02b7\u0001"+
55143 "\u0000\u0000\u0000\u137c\u137a\u0001\u0000\u0000\u0000\u137d\u1381\u0003"+
55144 "\u02ba\u015d\u0000\u137e\u1381\u0003H$\u0000\u137f\u1381\u0003b1\u0000"+
55145 "\u1380\u137d\u0001\u0000\u0000\u0000\u1380\u137e\u0001\u0000\u0000\u0000"+
55146 "\u1380\u137f\u0001\u0000\u0000\u0000\u1381\u1386\u0001\u0000\u0000\u0000"+
55147 "\u1382\u1384\u0005_\u0000\u0000\u1383\u1382\u0001\u0000\u0000\u0000\u1383"+
55148 "\u1384\u0001\u0000\u0000\u0000\u1384\u1385\u0001\u0000\u0000\u0000\u1385"+
55149 "\u1387\u0003\\.\u0000\u1386\u1383\u0001\u0000\u0000\u0000\u1386\u1387"+
55150 "\u0001\u0000\u0000\u0000\u1387\u138a\u0001\u0000\u0000\u0000\u1388\u138a"+
55151 "\u0003\u02c0\u0160\u0000\u1389\u1380\u0001\u0000\u0000\u0000\u1389\u1388"+
55152 "\u0001\u0000\u0000\u0000\u138a\u02b9\u0001\u0000\u0000\u0000\u138b\u138d"+
55153 "\u0005\u00dc\u0000\u0000\u138c\u138e\u0005\u001f\u0000\u0000\u138d\u138c"+
55154 "\u0001\u0000\u0000\u0000\u138d\u138e\u0001\u0000\u0000\u0000\u138e\u138f"+
55155 "\u0001\u0000\u0000\u0000\u138f\u1391\u0003\u02bc\u015e\u0000\u1390\u1392"+
55156 "\u0005 \u0000\u0000\u1391\u1390\u0001\u0000\u0000\u0000\u1391\u1392\u0001"+
55157 "\u0000\u0000\u0000\u1392\u1394\u0001\u0000\u0000\u0000\u1393\u1395\u0005"+
55158 "\u00b8\u0000\u0000\u1394\u1393\u0001\u0000\u0000\u0000\u1394\u1395\u0001"+
55159 "\u0000\u0000\u0000\u1395\u1398\u0001\u0000\u0000\u0000\u1396\u1397\u0005"+
55160 "L\u0000\u0000\u1397\u1399\u0005\u00b9\u0000\u0000\u1398\u1396\u0001\u0000"+
55161 "\u0000\u0000\u1398\u1399\u0001\u0000\u0000\u0000\u1399\u13a2\u0001\u0000"+
55162 "\u0000\u0000\u139a\u139b\u0005\u01a3\u0000\u0000\u139b\u139c\u0005\u001f"+
55163 "\u0000\u0000\u139c\u139d\u0005 \u0000\u0000\u139d\u139e\u0005\u0117\u0000"+
55164 "\u0000\u139e\u139f\u0005\u001f\u0000\u0000\u139f\u13a0\u0003\u0090H\u0000"+
55165 "\u13a0\u13a1\u0005 \u0000\u0000\u13a1\u13a3\u0001\u0000\u0000\u0000\u13a2"+
55166 "\u139a\u0001\u0000\u0000\u0000\u13a2\u13a3\u0001\u0000\u0000\u0000\u13a3"+
55167 "\u02bb\u0001\u0000\u0000\u0000\u13a4\u13a7\u0003\u001e\u000f\u0000\u13a5"+
55168 "\u13a7\u0003\u0018\f\u0000\u13a6\u13a4\u0001\u0000\u0000\u0000\u13a6\u13a5"+
55169 "\u0001\u0000\u0000\u0000\u13a7\u02bd\u0001\u0000\u0000\u0000\u13a8\u13a9"+
55170 "\u0005\u0011\u0000\u0000\u13a9\u02bf\u0001\u0000\u0000\u0000\u13aa\u13ab"+
55171 "\u0003*\u0015\u0000\u13ab\u13ac\u0005\u0015\u0000\u0000\u13ac\u02c1\u0001"+
55172 "\u0000\u0000\u0000\u13ad\u13ae\u0005T\u0000\u0000\u13ae\u13af\u0003\u02c4"+
55173 "\u0162\u0000\u13af\u02c3\u0001\u0000\u0000\u0000\u13b0\u13b5\u0003\u02c6"+
55174 "\u0163\u0000\u13b1\u13b2\u0005%\u0000\u0000\u13b2\u13b4\u0003\u02c6\u0163"+
55175 "\u0000\u13b3\u13b1\u0001\u0000\u0000\u0000\u13b4\u13b7\u0001\u0000\u0000"+
55176 "\u0000\u13b5\u13b3\u0001\u0000\u0000\u0000\u13b5\u13b6\u0001\u0000\u0000"+
55177 "\u0000\u13b6\u02c5\u0001\u0000\u0000\u0000\u13b7\u13b5\u0001\u0000\u0000"+
55178 "\u0000\u13b8\u13bc\u0003\u02c8\u0164\u0000\u13b9\u13bb\u0003\u02ca\u0165"+
55179 "\u0000\u13ba\u13b9\u0001\u0000\u0000\u0000\u13bb\u13be\u0001\u0000\u0000"+
55180 "\u0000\u13bc\u13ba\u0001\u0000\u0000\u0000\u13bc\u13bd\u0001\u0000\u0000"+
55181 "\u0000\u13bd\u02c7\u0001\u0000\u0000\u0000\u13be\u13bc\u0001\u0000\u0000"+
55182 "\u0000\u13bf\u13c4\u0003@ \u0000\u13c0\u13c2\u0005_\u0000\u0000\u13c1"+
55183 "\u13c0\u0001\u0000\u0000\u0000\u13c1\u13c2\u0001\u0000\u0000\u0000\u13c2"+
55184 "\u13c3\u0001\u0000\u0000\u0000\u13c3\u13c5\u0003\\.\u0000\u13c4\u13c1"+
55185 "\u0001\u0000\u0000\u0000\u13c4\u13c5\u0001\u0000\u0000\u0000\u13c5\u13d3"+
55186 "\u0001\u0000\u0000\u0000\u13c6\u13c8\u0003\u02d4\u016a\u0000\u13c7\u13c9"+
55187 "\u0005_\u0000\u0000\u13c8\u13c7\u0001\u0000\u0000\u0000\u13c8\u13c9\u0001"+
55188 "\u0000\u0000\u0000\u13c9\u13ca\u0001\u0000\u0000\u0000\u13ca\u13cc\u0003"+
55189 "\\.\u0000\u13cb\u13cd\u0003P(\u0000\u13cc\u13cb\u0001\u0000\u0000\u0000"+
55190 "\u13cc\u13cd\u0001\u0000\u0000\u0000\u13cd\u13d3\u0001\u0000\u0000\u0000"+
55191 "\u13ce\u13cf\u0005\u001f\u0000\u0000\u13cf\u13d0\u0003\u02c4\u0162\u0000"+
55192 "\u13d0\u13d1\u0005 \u0000\u0000\u13d1\u13d3\u0001\u0000\u0000\u0000\u13d2"+
55193 "\u13bf\u0001\u0000\u0000\u0000\u13d2\u13c6\u0001\u0000\u0000\u0000\u13d2"+
55194 "\u13ce\u0001\u0000\u0000\u0000\u13d3\u02c9\u0001\u0000\u0000\u0000\u13d4"+
55195 "\u13d6\u0005U\u0000\u0000\u13d5\u13d4\u0001\u0000\u0000\u0000\u13d5\u13d6"+
55196 "\u0001\u0000\u0000\u0000\u13d6\u13d8\u0001\u0000\u0000\u0000\u13d7\u13d9"+
55197 "\u0007H\u0000\u0000\u13d8\u13d7\u0001\u0000\u0000\u0000\u13d8\u13d9\u0001"+
55198 "\u0000\u0000\u0000\u13d9\u13da\u0001\u0000\u0000\u0000\u13da\u13db\u0005"+
55199 "V\u0000\u0000\u13db\u13dc\u0001\u0000\u0000\u0000\u13dc\u13de\u0003\u02c8"+
55200 "\u0164\u0000\u13dd\u13df\u0003\u02cc\u0166\u0000\u13de\u13dd\u0001\u0000"+
55201 "\u0000\u0000\u13de\u13df\u0001\u0000\u0000\u0000\u13df\u13ed\u0001\u0000"+
55202 "\u0000\u0000\u13e0\u13e2\u0005U\u0000\u0000\u13e1\u13e0\u0001\u0000\u0000"+
55203 "\u0000\u13e1\u13e2\u0001\u0000\u0000\u0000\u13e2\u13e3\u0001\u0000\u0000"+
55204 "\u0000\u13e3\u13e5\u0007I\u0000\u0000\u13e4\u13e6\u0005Y\u0000\u0000\u13e5"+
55205 "\u13e4\u0001\u0000\u0000\u0000\u13e5\u13e6\u0001\u0000\u0000\u0000\u13e6"+
55206 "\u13e7\u0001\u0000\u0000\u0000\u13e7\u13e8\u0005V\u0000\u0000\u13e8\u13ea"+
55207 "\u0003\u02c8\u0164\u0000\u13e9\u13eb\u0003\u02cc\u0166\u0000\u13ea\u13e9"+
55208 "\u0001\u0000\u0000\u0000\u13ea\u13eb\u0001\u0000\u0000\u0000\u13eb\u13ed"+
55209 "\u0001\u0000\u0000\u0000\u13ec\u13d5\u0001\u0000\u0000\u0000\u13ec\u13e1"+
55210 "\u0001\u0000\u0000\u0000\u13ed\u02cb\u0001\u0000\u0000\u0000\u13ee\u13ef"+
55211 "\u0005`\u0000\u0000\u13ef\u13f3\u0003b1\u0000\u13f0\u13f1\u0005]\u0000"+
55212 "\u0000\u13f1\u13f3\u0003P(\u0000\u13f2\u13ee\u0001\u0000\u0000\u0000\u13f2"+
55213 "\u13f0\u0001\u0000\u0000\u0000\u13f3\u02cd\u0001\u0000\u0000\u0000\u13f4"+
55214 "\u13f5\u0005^\u0000\u0000\u13f5\u13f6\u0003b1\u0000\u13f6\u02cf\u0001"+
55215 "\u0000\u0000\u0000\u13f7\u13f8\u0005t\u0000\u0000\u13f8\u13f9\u0005u\u0000"+
55216 "\u0000\u13f9\u13fe\u0003\u0092I\u0000\u13fa\u13fb\u0005%\u0000\u0000\u13fb"+
55217 "\u13fd\u0003\u0092I\u0000\u13fc\u13fa\u0001\u0000\u0000\u0000\u13fd\u1400"+
55218 "\u0001\u0000\u0000\u0000\u13fe\u13fc\u0001\u0000\u0000\u0000\u13fe\u13ff"+
55219 "\u0001\u0000\u0000\u0000\u13ff\u02d1\u0001\u0000\u0000\u0000\u1400\u13fe"+
55220 "\u0001\u0000\u0000\u0000\u1401\u1402\u0005x\u0000\u0000\u1402\u1403\u0003"+
55221 "b1\u0000\u1403\u02d3\u0001\u0000\u0000\u0000\u1404\u1405\u0005\u001f\u0000"+
55222 "\u0000\u1405\u1406\u0003\u02b0\u0158\u0000\u1406\u1407\u0005 \u0000\u0000"+
55223 "\u1407\u02d5\u0001\u0000\u0000\u0000\u1408\u1409\u0005L\u0000\u0000\u1409"+
55224 "\u140a\u0003\u02d8\u016c\u0000\u140a\u02d7\u0001\u0000\u0000\u0000\u140b"+
55225 "\u1410\u0003\u02da\u016d\u0000\u140c\u140d\u0005%\u0000\u0000\u140d\u140f"+
55226 "\u0003\u02da\u016d\u0000\u140e\u140c\u0001\u0000\u0000\u0000\u140f\u1412"+
55227 "\u0001\u0000\u0000\u0000\u1410\u140e\u0001\u0000\u0000\u0000\u1410\u1411"+
55228 "\u0001\u0000\u0000\u0000\u1411\u02d9\u0001\u0000\u0000\u0000\u1412\u1410"+
55229 "\u0001\u0000\u0000\u0000\u1413\u1415\u0003*\u0015\u0000\u1414\u1416\u0003"+
55230 "P(\u0000\u1415\u1414\u0001\u0000\u0000\u0000\u1415\u1416\u0001\u0000\u0000"+
55231 "\u0000\u1416\u1417\u0001\u0000\u0000\u0000\u1417\u1418\u0005_\u0000\u0000"+
55232 "\u1418\u1419\u0003\u02d4\u016a\u0000\u1419\u02db\u0001\u0000\u0000\u0000"+
55233 "\u141a\u141d\u0005\u01b7\u0000\u0000\u141b\u141e\u0003\u02de\u016f\u0000"+
55234 "\u141c\u141e\u0003\u02e2\u0171\u0000\u141d\u141b\u0001\u0000\u0000\u0000"+
55235 "\u141d\u141c\u0001\u0000\u0000\u0000\u141e\u1424\u0001\u0000\u0000\u0000"+
55236 "\u141f\u1420\u0005J\u0000\u0000\u1420\u1422\u0003\u02e4\u0172\u0000\u1421"+
55237 "\u1423\u0003P(\u0000\u1422\u1421\u0001\u0000\u0000\u0000\u1422\u1423\u0001"+
55238 "\u0000\u0000\u0000\u1423\u1425\u0001\u0000\u0000\u0000\u1424\u141f\u0001"+
55239 "\u0000\u0000\u0000\u1424\u1425\u0001\u0000\u0000\u0000\u1425\u02dd\u0001"+
55240 "\u0000\u0000\u0000\u1426\u142b\u0003\u02e0\u0170\u0000\u1427\u1428\u0005"+
55241 "%\u0000\u0000\u1428\u142a\u0003\u02e0\u0170\u0000\u1429\u1427\u0001\u0000"+
55242 "\u0000\u0000\u142a\u142d\u0001\u0000\u0000\u0000\u142b\u1429\u0001\u0000"+
55243 "\u0000\u0000\u142b\u142c\u0001\u0000\u0000\u0000\u142c\u02df\u0001\u0000"+
55244 "\u0000\u0000\u142d\u142b\u0001\u0000\u0000\u0000\u142e\u142f\u0007J\u0000"+
55245 "\u0000\u142f\u1430\u0005\u0014\u0000\u0000\u1430\u1435\u0003N\'\u0000"+
55246 "\u1431\u1433\u0005_\u0000\u0000\u1432\u1431\u0001\u0000\u0000\u0000\u1432"+
55247 "\u1433\u0001\u0000\u0000\u0000\u1433\u1434\u0001\u0000\u0000\u0000\u1434"+
55248 "\u1436\u0003\\.\u0000\u1435\u1432\u0001\u0000\u0000\u0000\u1435\u1436"+
55249 "\u0001\u0000\u0000\u0000\u1436\u02e1\u0001\u0000\u0000\u0000\u1437\u1438"+
55250 "\u0007J\u0000\u0000\u1438\u1439\u0005\u0015\u0000\u0000\u1439\u02e3\u0001"+
55251 "\u0000\u0000\u0000\u143a\u143b\u0005*\u0000\u0000\u143b\u143e\u0003N\'"+
55252 "\u0000\u143c\u143e\u0003@ \u0000\u143d\u143a\u0001\u0000\u0000\u0000\u143d"+
55253 "\u143c\u0001\u0000\u0000\u0000\u143e\u02e5\u0001\u0000\u0000\u0000\u143f"+
55254 "\u1440\u0007K\u0000\u0000\u1440\u1486\u0005t\u0000\u0000\u1441\u1442\u0007"+
55255 "L\u0000\u0000\u1442\u1486\u0005M\u0000\u0000\u1443\u1444\u0007M\u0000"+
55256 "\u0000\u1444\u1486\u0005V\u0000\u0000\u1445\u1446\u0005\u00bf\u0000\u0000"+
55257 "\u1446\u1486\u0005\u00c0\u0000\u0000\u1447\u1448\u0005\u00c1\u0000\u0000"+
55258 "\u1448\u1486\u0005\u02b0\u0000\u0000\u1449\u144a\u0005\u00c2\u0000\u0000"+
55259 "\u144a\u1486\u0005s\u0000\u0000\u144b\u144c\u0007N\u0000\u0000\u144c\u1486"+
55260 "\u0005\u01cc\u0000\u0000\u144d\u144e\u0007N\u0000\u0000\u144e\u1486\u0005"+
55261 "\u01cd\u0000\u0000\u144f\u1486\u0005\u01ce\u0000\u0000\u1450\u1451\u0005"+
55262 "\u00c3\u0000\u0000\u1451\u1486\u0005\u00c4\u0000\u0000\u1452\u1453\u0005"+
55263 "\u01cf\u0000\u0000\u1453\u1486\u0005\u00c4\u0000\u0000\u1454\u1455\u0005"+
55264 "\u01d0\u0000\u0000\u1455\u1456\u0005\u0018\u0000\u0000\u1456\u1486\u0005"+
55265 "\u02b2\u0000\u0000\u1457\u1458\u0005\u01d1\u0000\u0000\u1458\u1459\u0005"+
55266 "\u0018\u0000\u0000\u1459\u1486\u0005\u02b2\u0000\u0000\u145a\u145b\u0005"+
55267 "\u0110\u0000\u0000\u145b\u1486\u0005\u02b0\u0000\u0000\u145c\u145d\u0005"+
55268 "\u01d2\u0000\u0000\u145d\u1486\u0005\u02b0\u0000\u0000\u145e\u1486\u0005"+
55269 "\u01d3\u0000\u0000\u145f\u1460\u0005\u00c5\u0000\u0000\u1460\u1461\u0005"+
55270 "d\u0000\u0000\u1461\u1462\u0005\u001f\u0000\u0000\u1462\u1463\u0005*\u0000"+
55271 "\u0000\u1463\u1469\u0003N\'\u0000\u1464\u1468\u0005\u00df\u0000\u0000"+
55272 "\u1465\u1466\u0005\u0018\u0000\u0000\u1466\u1468\u0003*\u0015\u0000\u1467"+
55273 "\u1464\u0001\u0000\u0000\u0000\u1467\u1465\u0001\u0000\u0000\u0000\u1468"+
55274 "\u146b\u0001\u0000\u0000\u0000\u1469\u1467\u0001\u0000\u0000\u0000\u1469"+
55275 "\u146a\u0001\u0000\u0000\u0000\u146a\u146c\u0001\u0000\u0000\u0000\u146b"+
55276 "\u1469\u0001\u0000\u0000\u0000\u146c\u146d\u0005 \u0000\u0000\u146d\u1486"+
55277 "\u0001\u0000\u0000\u0000\u146e\u146f\u0005\u00c5\u0000\u0000\u146f\u1470"+
55278 "\u0005d\u0000\u0000\u1470\u1486\u0005\u00df\u0000\u0000\u1471\u1472\u0005"+
55279 "\u01d4\u0000\u0000\u1472\u1486\u0007<\u0000\u0000\u1473\u1474\u0005\u01d5"+
55280 "\u0000\u0000\u1474\u1486\u0005\u02b0\u0000\u0000\u1475\u1486\u0005\u01d6"+
55281 "\u0000\u0000\u1476\u1477\u0005\u01d7\u0000\u0000\u1477\u1486\u0005\u00c4"+
55282 "\u0000\u0000\u1478\u1479\u0005\u00bc\u0000\u0000\u1479\u147a\u0005\u00c8"+
55283 "\u0000\u0000\u147a\u147e\u0005\u001f\u0000\u0000\u147b\u147d\u0003\u02e8"+
55284 "\u0174\u0000\u147c\u147b\u0001\u0000\u0000\u0000\u147d\u1480\u0001\u0000"+
55285 "\u0000\u0000\u147e\u147c\u0001\u0000\u0000\u0000\u147e\u147f\u0001\u0000"+
55286 "\u0000\u0000\u147f\u1481\u0001\u0000\u0000\u0000\u1480\u147e\u0001\u0000"+
55287 "\u0000\u0000\u1481\u1486\u0005 \u0000\u0000\u1482\u1483\u0005\u00bc\u0000"+
55288 "\u0000\u1483\u1484\u0005\u00c4\u0000\u0000\u1484\u1486\u0005\u02b5\u0000"+
55289 "\u0000\u1485\u143f\u0001\u0000\u0000\u0000\u1485\u1441\u0001\u0000\u0000"+
55290 "\u0000\u1485\u1443\u0001\u0000\u0000\u0000\u1485\u1445\u0001\u0000\u0000"+
55291 "\u0000\u1485\u1447\u0001\u0000\u0000\u0000\u1485\u1449\u0001\u0000\u0000"+
55292 "\u0000\u1485\u144b\u0001\u0000\u0000\u0000\u1485\u144d\u0001\u0000\u0000"+
55293 "\u0000\u1485\u144f\u0001\u0000\u0000\u0000\u1485\u1450\u0001\u0000\u0000"+
55294 "\u0000\u1485\u1452\u0001\u0000\u0000\u0000\u1485\u1454\u0001\u0000\u0000"+
55295 "\u0000\u1485\u1457\u0001\u0000\u0000\u0000\u1485\u145a\u0001\u0000\u0000"+
55296 "\u0000\u1485\u145c\u0001\u0000\u0000\u0000\u1485\u145e\u0001\u0000\u0000"+
55297 "\u0000\u1485\u145f\u0001\u0000\u0000\u0000\u1485\u146e\u0001\u0000\u0000"+
55298 "\u0000\u1485\u1471\u0001\u0000\u0000\u0000\u1485\u1473\u0001\u0000\u0000"+
55299 "\u0000\u1485\u1475\u0001\u0000\u0000\u0000\u1485\u1476\u0001\u0000\u0000"+
55300 "\u0000\u1485\u1478\u0001\u0000\u0000\u0000\u1485\u1482\u0001\u0000\u0000"+
55301 "\u0000\u1486\u02e7\u0001\u0000\u0000\u0000\u1487\u1488\u0005\'\u0000\u0000"+
55302 "\u1488\u1489\u0005\u01ba\u0000\u0000\u1489\u14be\u0005\'\u0000\u0000\u148a"+
55303 "\u148b\u0005\'\u0000\u0000\u148b\u148c\u0005\u01bb\u0000\u0000\u148c\u14be"+
55304 "\u0005\'\u0000\u0000\u148d\u148e\u0005\'\u0000\u0000\u148e\u148f\u0005"+
55305 "\u01bc\u0000\u0000\u148f\u14be\u0005\'\u0000\u0000\u1490\u1491\u0005\'"+
55306 "\u0000\u0000\u1491\u1492\u0005\u01bd\u0000\u0000\u1492\u14be\u0005\'\u0000"+
55307 "\u0000\u1493\u1494\u0005\'\u0000\u0000\u1494\u1495\u0005\u01be\u0000\u0000"+
55308 "\u1495\u14be\u0005\'\u0000\u0000\u1496\u1497\u0005\'\u0000\u0000\u1497"+
55309 "\u1498\u0005\u01bf\u0000\u0000\u1498\u14be\u0005\'\u0000\u0000\u1499\u149a"+
55310 "\u0005\'\u0000\u0000\u149a\u149b\u0005\u01c0\u0000\u0000\u149b\u14be\u0005"+
55311 "\'\u0000\u0000\u149c\u149d\u0005\'\u0000\u0000\u149d\u149e\u0005\u01c1"+
55312 "\u0000\u0000\u149e\u14be\u0005\'\u0000\u0000\u149f\u14a0\u0005\'\u0000"+
55313 "\u0000\u14a0\u14a1\u0005\u01c2\u0000\u0000\u14a1\u14be\u0005\'\u0000\u0000"+
55314 "\u14a2\u14a3\u0005\'\u0000\u0000\u14a3\u14a4\u0005\u01c3\u0000\u0000\u14a4"+
55315 "\u14be\u0005\'\u0000\u0000\u14a5\u14a6\u0005\'\u0000\u0000\u14a6\u14a7"+
55316 "\u0005\u01c4\u0000\u0000\u14a7\u14be\u0005\'\u0000\u0000\u14a8\u14a9\u0005"+
55317 "\'\u0000\u0000\u14a9\u14aa\u0005\u01c5\u0000\u0000\u14aa\u14be\u0005\'"+
55318 "\u0000\u0000\u14ab\u14ac\u0005\'\u0000\u0000\u14ac\u14ad\u0005\u01c6\u0000"+
55319 "\u0000\u14ad\u14be\u0005\'\u0000\u0000\u14ae\u14af\u0005\'\u0000\u0000"+
55320 "\u14af\u14b0\u0005\u01c7\u0000\u0000\u14b0\u14be\u0005\'\u0000\u0000\u14b1"+
55321 "\u14b2\u0005\'\u0000\u0000\u14b2\u14b3\u0005\u01c8\u0000\u0000\u14b3\u14be"+
55322 "\u0005\'\u0000\u0000\u14b4\u14b5\u0005\'\u0000\u0000\u14b5\u14b6\u0005"+
55323 "\u01c9\u0000\u0000\u14b6\u14be\u0005\'\u0000\u0000\u14b7\u14b8\u0005\'"+
55324 "\u0000\u0000\u14b8\u14b9\u0005\u01ca\u0000\u0000\u14b9\u14be\u0005\'\u0000"+
55325 "\u0000\u14ba\u14bb\u0005\'\u0000\u0000\u14bb\u14bc\u0005\u01cb\u0000\u0000"+
55326 "\u14bc\u14be\u0005\'\u0000\u0000\u14bd\u1487\u0001\u0000\u0000\u0000\u14bd"+
55327 "\u148a\u0001\u0000\u0000\u0000\u14bd\u148d\u0001\u0000\u0000\u0000\u14bd"+
55328 "\u1490\u0001\u0000\u0000\u0000\u14bd\u1493\u0001\u0000\u0000\u0000\u14bd"+
55329 "\u1496\u0001\u0000\u0000\u0000\u14bd\u1499\u0001\u0000\u0000\u0000\u14bd"+
55330 "\u149c\u0001\u0000\u0000\u0000\u14bd\u149f\u0001\u0000\u0000\u0000\u14bd"+
55331 "\u14a2\u0001\u0000\u0000\u0000\u14bd\u14a5\u0001\u0000\u0000\u0000\u14bd"+
55332 "\u14a8\u0001\u0000\u0000\u0000\u14bd\u14ab\u0001\u0000\u0000\u0000\u14bd"+
55333 "\u14ae\u0001\u0000\u0000\u0000\u14bd\u14b1\u0001\u0000\u0000\u0000\u14bd"+
55334 "\u14b4\u0001\u0000\u0000\u0000\u14bd\u14b7\u0001\u0000\u0000\u0000\u14bd"+
55335 "\u14ba\u0001\u0000\u0000\u0000\u14be\u02e9\u0001\u0000\u0000\u0000\u14bf"+
55336 "\u14c3\u0005d\u0000\u0000\u14c0\u14c4\u0005\u029d\u0000\u0000\u14c1\u14c4"+
55337 "\u0003\u02ec\u0176\u0000\u14c2\u14c4\u0003\u02f0\u0178\u0000\u14c3\u14c0"+
55338 "\u0001\u0000\u0000\u0000\u14c3\u14c1\u0001\u0000\u0000\u0000\u14c3\u14c2"+
55339 "\u0001\u0000\u0000\u0000\u14c4\u02eb\u0001\u0000\u0000\u0000\u14c5\u1500"+
55340 "\u0005\u014a\u0000\u0000\u14c6\u14cb\u0005\u029e\u0000\u0000\u14c7\u14c8"+
55341 "\u0005\u001f\u0000\u0000\u14c8\u14c9\u0003\u001c\u000e\u0000\u14c9\u14ca"+
55342 "\u0005 \u0000\u0000\u14ca\u14cc\u0001\u0000\u0000\u0000\u14cb\u14c7\u0001"+
55343 "\u0000\u0000\u0000\u14cb\u14cc\u0001\u0000\u0000\u0000\u14cc\u14cf\u0001"+
55344 "\u0000\u0000\u0000\u14cd\u14cf\u0005\u00ef\u0000\u0000\u14ce\u14c6\u0001"+
55345 "\u0000\u0000\u0000\u14ce\u14cd\u0001\u0000\u0000\u0000\u14cf\u14e5\u0001"+
55346 "\u0000\u0000\u0000\u14d0\u14dc\u0003\u02ee\u0177\u0000\u14d1\u14da\u0005"+
55347 "%\u0000\u0000\u14d2\u14db\u0005\u029f\u0000\u0000\u14d3\u14d8\u0005\u02a0"+
55348 "\u0000\u0000\u14d4\u14d5\u0005\u001f\u0000\u0000\u14d5\u14d6\u0003\u001c"+
55349 "\u000e\u0000\u14d6\u14d7\u0005 \u0000\u0000\u14d7\u14d9\u0001\u0000\u0000"+
55350 "\u0000\u14d8\u14d4\u0001\u0000\u0000\u0000\u14d8\u14d9\u0001\u0000\u0000"+
55351 "\u0000\u14d9\u14db\u0001\u0000\u0000\u0000\u14da\u14d2\u0001\u0000\u0000"+
55352 "\u0000\u14da\u14d3\u0001\u0000\u0000\u0000\u14db\u14dd\u0001\u0000\u0000"+
55353 "\u0000\u14dc\u14d1\u0001\u0000\u0000\u0000\u14dc\u14dd\u0001\u0000\u0000"+
55354 "\u0000\u14dd\u14e3\u0001\u0000\u0000\u0000\u14de\u14df\u0005%\u0000\u0000"+
55355 "\u14df\u14e1\u0005\u02a1\u0000\u0000\u14e0\u14e2\u0007O\u0000\u0000\u14e1"+
55356 "\u14e0\u0001\u0000\u0000\u0000\u14e1\u14e2\u0001\u0000\u0000\u0000\u14e2"+
55357 "\u14e4\u0001\u0000\u0000\u0000\u14e3\u14de\u0001\u0000\u0000\u0000\u14e3"+
55358 "\u14e4\u0001\u0000\u0000\u0000\u14e4\u14e6\u0001\u0000\u0000\u0000\u14e5"+
55359 "\u14d0\u0001\u0000\u0000\u0000\u14e5\u14e6\u0001\u0000\u0000\u0000\u14e6"+
55360 "\u1501\u0001\u0000\u0000\u0000\u14e7\u14ed\u0005\u02a4\u0000\u0000\u14e8"+
55361 "\u14eb\u0003\u02ee\u0177\u0000\u14e9\u14ea\u0005%\u0000\u0000\u14ea\u14ec"+
55362 "\u0005\u029f\u0000\u0000\u14eb\u14e9\u0001\u0000\u0000\u0000\u14eb\u14ec"+
55363 "\u0001\u0000\u0000\u0000\u14ec\u14ee\u0001\u0000\u0000\u0000\u14ed\u14e8"+
55364 "\u0001\u0000\u0000\u0000\u14ed\u14ee\u0001\u0000\u0000\u0000\u14ee\u1501"+
55365 "\u0001\u0000\u0000\u0000\u14ef\u14f4\u0005\u02a5\u0000\u0000\u14f0\u14f1"+
55366 "\u0005\u001f\u0000\u0000\u14f1\u14f2\u0003\u001c\u000e\u0000\u14f2\u14f3"+
55367 "\u0005 \u0000\u0000\u14f3\u14f5\u0001\u0000\u0000\u0000\u14f4\u14f0\u0001"+
55368 "\u0000\u0000\u0000\u14f4\u14f5\u0001\u0000\u0000\u0000\u14f5\u14fe\u0001"+
55369 "\u0000\u0000\u0000\u14f6\u14fc\u0003\u02ee\u0177\u0000\u14f7\u14f8\u0005"+
55370 "%\u0000\u0000\u14f8\u14fa\u0005\u02a1\u0000\u0000\u14f9\u14fb\u0007O\u0000"+
55371 "\u0000\u14fa\u14f9\u0001\u0000\u0000\u0000\u14fa\u14fb\u0001\u0000\u0000"+
55372 "\u0000\u14fb\u14fd\u0001\u0000\u0000\u0000\u14fc\u14f7\u0001\u0000\u0000"+
55373 "\u0000\u14fc\u14fd\u0001\u0000\u0000\u0000\u14fd\u14ff\u0001\u0000\u0000"+
55374 "\u0000\u14fe\u14f6\u0001\u0000\u0000\u0000\u14fe\u14ff\u0001\u0000\u0000"+
55375 "\u0000\u14ff\u1501\u0001\u0000\u0000\u0000\u1500\u14ce\u0001\u0000\u0000"+
55376 "\u0000\u1500\u14e7\u0001\u0000\u0000\u0000\u1500\u14ef\u0001\u0000\u0000"+
55377 "\u0000\u1501\u02ed\u0001\u0000\u0000\u0000\u1502\u1503\u0005%\u0000\u0000"+
55378 "\u1503\u1504\u0005\u00d6\u0000\u0000\u1504\u1506\u0005\u02a6\u0000\u0000"+
55379 "\u1505\u1502\u0001\u0000\u0000\u0000\u1505\u1506\u0001\u0000\u0000\u0000"+
55380 "\u1506\u1509\u0001\u0000\u0000\u0000\u1507\u1508\u0005%\u0000\u0000\u1508"+
55381 "\u150a\u0005\u00ae\u0000\u0000\u1509\u1507\u0001\u0000\u0000\u0000\u1509"+
55382 "\u150a\u0001\u0000\u0000\u0000\u150a\u1513\u0001\u0000\u0000\u0000\u150b"+
55383 "\u150c\u0005%\u0000\u0000\u150c\u1511\u0005\u02a7\u0000\u0000\u150d\u150e"+
55384 "\u0005\u001f\u0000\u0000\u150e\u150f\u0003\u001c\u000e\u0000\u150f\u1510"+
55385 "\u0005 \u0000\u0000\u1510\u1512\u0001\u0000\u0000\u0000\u1511\u150d\u0001"+
55386 "\u0000\u0000\u0000\u1511\u1512\u0001\u0000\u0000\u0000\u1512\u1514\u0001"+
55387 "\u0000\u0000\u0000\u1513\u150b\u0001\u0000\u0000\u0000\u1513\u1514\u0001"+
55388 "\u0000\u0000\u0000\u1514\u02ef\u0001\u0000\u0000\u0000\u1515\u1516\u0005"+
55389 "\u02a8\u0000\u0000\u1516\u1529\u0007P\u0000\u0000\u1517\u1518\u0005%\u0000"+
55390 "\u0000\u1518\u151d\u0005\u02a7\u0000\u0000\u1519\u151a\u0005\u001f\u0000"+
55391 "\u0000\u151a\u151b\u0003\u001c\u000e\u0000\u151b\u151c\u0005 \u0000\u0000"+
55392 "\u151c\u151e\u0001\u0000\u0000\u0000\u151d\u1519\u0001\u0000\u0000\u0000"+
55393 "\u151d\u151e\u0001\u0000\u0000\u0000\u151e\u1520\u0001\u0000\u0000\u0000"+
55394 "\u151f\u1517\u0001\u0000\u0000\u0000\u151f\u1520\u0001\u0000\u0000\u0000"+
55395 "\u1520\u1523\u0001\u0000\u0000\u0000\u1521\u1522\u0005%\u0000\u0000\u1522"+
55396 "\u1524\u0005\u02a9\u0000\u0000\u1523\u1521\u0001\u0000\u0000\u0000\u1523"+
55397 "\u1524\u0001\u0000\u0000\u0000\u1524\u1527\u0001\u0000\u0000\u0000\u1525"+
55398 "\u1526\u0005%\u0000\u0000\u1526\u1528\u0005\u02aa\u0000\u0000\u1527\u1525"+
55399 "\u0001\u0000\u0000\u0000\u1527\u1528\u0001\u0000\u0000\u0000\u1528\u152a"+
55400 "\u0001\u0000\u0000\u0000\u1529\u151f\u0001\u0000\u0000\u0000\u1529\u152a"+
55401 "\u0001\u0000\u0000\u0000\u152a\u02f1\u0001\u0000\u0000\u0000\u152b\u1530"+
55402 "\u0005L\u0000\u0000\u152c\u152e\u0003\u02f4\u017a\u0000\u152d\u152f\u0005"+
55403 "%\u0000\u0000\u152e\u152d\u0001\u0000\u0000\u0000\u152e\u152f\u0001\u0000"+
55404 "\u0000\u0000\u152f\u1531\u0001\u0000\u0000\u0000\u1530\u152c\u0001\u0000"+
55405 "\u0000\u0000\u1530\u1531\u0001\u0000\u0000\u0000\u1531\u1533\u0001\u0000"+
55406 "\u0000\u0000\u1532\u1534\u0003\u02d8\u016c\u0000\u1533\u1532\u0001\u0000"+
55407 "\u0000\u0000\u1533\u1534\u0001\u0000\u0000\u0000\u1534\u02f3\u0001\u0000"+
55408 "\u0000\u0000\u1535\u1536\u0005\u02ab\u0000\u0000\u1536\u1537\u0005\u001f"+
55409 "\u0000\u0000\u1537\u153c\u0003\u02f6\u017b\u0000\u1538\u1539\u0005%\u0000"+
55410 "\u0000\u1539\u153b\u0003\u02f6\u017b\u0000\u153a\u1538\u0001\u0000\u0000"+
55411 "\u0000\u153b\u153e\u0001\u0000\u0000\u0000\u153c\u153a\u0001\u0000\u0000"+
55412 "\u0000\u153c\u153d\u0001\u0000\u0000\u0000\u153d\u153f\u0001\u0000\u0000"+
55413 "\u0000\u153e\u153c\u0001\u0000\u0000\u0000\u153f\u1540\u0005 \u0000\u0000"+
55414 "\u1540\u02f5\u0001\u0000\u0000\u0000\u1541\u1542\u0003\u02f8\u017c\u0000"+
55415 "\u1542\u1543\u0005_\u0000\u0000\u1543\u1544\u0003\u02fa\u017d\u0000\u1544"+
55416 "\u1547\u0001\u0000\u0000\u0000\u1545\u1547\u0003\u02fc\u017e\u0000\u1546"+
55417 "\u1541\u0001\u0000\u0000\u0000\u1546\u1545\u0001\u0000\u0000\u0000\u1547"+
55418 "\u02f7\u0001\u0000\u0000\u0000\u1548\u1549\u0003\u001c\u000e\u0000\u1549"+
55419 "\u02f9\u0001\u0000\u0000\u0000\u154a\u154b\u0003*\u0015\u0000\u154b\u02fb"+
55420 "\u0001\u0000\u0000\u0000\u154c\u154d\u0005\u0098\u0000\u0000\u154d\u154e"+
55421 "\u0003\u02f8\u017c\u0000\u154e\u02fd\u0001\u0000\u0000\u0000\u154f\u1552"+
55422 "\u00057\u0000\u0000\u1550\u1553\u0003\u0300\u0180\u0000\u1551\u1553\u0003"+
55423 "\u0302\u0181\u0000\u1552\u1550\u0001\u0000\u0000\u0000\u1552\u1551\u0001"+
55424 "\u0000\u0000\u0000\u1553\u02ff\u0001\u0000\u0000\u0000\u1554\u1557\u0003"+
55425 "\u0304\u0182\u0000\u1555\u1556\u0005`\u0000\u0000\u1556\u1558\u0003\u0306"+
55426 "\u0183\u0000\u1557\u1555\u0001\u0000\u0000\u0000\u1557\u1558\u0001\u0000"+
55427 "\u0000\u0000\u1558\u1559\u0001\u0000\u0000\u0000\u1559\u155a\u0005e\u0000"+
55428 "\u0000\u155a\u155f\u0003\u030e\u0187\u0000\u155b\u155c\u0005%\u0000\u0000"+
55429 "\u155c\u155e\u0003\u030e\u0187\u0000\u155d\u155b\u0001\u0000\u0000\u0000"+
55430 "\u155e\u1561\u0001\u0000\u0000\u0000\u155f\u155d\u0001\u0000\u0000\u0000"+
55431 "\u155f\u1560\u0001\u0000\u0000\u0000\u1560\u1565\u0001\u0000\u0000\u0000"+
55432 "\u1561\u155f\u0001\u0000\u0000\u0000\u1562\u1563\u0005L\u0000\u0000\u1563"+
55433 "\u1564\u00057\u0000\u0000\u1564\u1566\u0005\u00e6\u0000\u0000\u1565\u1562"+
55434 "\u0001\u0000\u0000\u0000\u1565\u1566\u0001\u0000\u0000\u0000\u1566\u1569"+
55435 "\u0001\u0000\u0000\u0000\u1567\u1568\u0005_\u0000\u0000\u1568\u156a\u0003"+
55436 "\u030e\u0187\u0000\u1569\u1567\u0001\u0000\u0000\u0000\u1569\u156a\u0001"+
55437 "\u0000\u0000\u0000\u156a\u0301\u0001\u0000\u0000\u0000\u156b\u156e\u0003"+
55438 "\u0308\u0184\u0000\u156c\u156d\u0005`\u0000\u0000\u156d\u156f\u0003\u030a"+
55439 "\u0185\u0000\u156e\u156c\u0001\u0000\u0000\u0000\u156e\u156f\u0001\u0000"+
55440 "\u0000\u0000\u156f\u1570\u0001\u0000\u0000\u0000\u1570\u1571\u0005e\u0000"+
55441 "\u0000\u1571\u1576\u0003\u030e\u0187\u0000\u1572\u1573\u0005%\u0000\u0000"+
55442 "\u1573\u1575\u0003\u030e\u0187\u0000\u1574\u1572\u0001\u0000\u0000\u0000"+
55443 "\u1575\u1578\u0001\u0000\u0000\u0000\u1576\u1574\u0001\u0000\u0000\u0000"+
55444 "\u1576\u1577\u0001\u0000\u0000\u0000\u1577\u157c\u0001\u0000\u0000\u0000"+
55445 "\u1578\u1576\u0001\u0000\u0000\u0000\u1579\u157a\u0005L\u0000\u0000\u157a"+
55446 "\u157b\u00057\u0000\u0000\u157b\u157d\u0005\u00e6\u0000\u0000\u157c\u1579"+
55447 "\u0001\u0000\u0000\u0000\u157c\u157d\u0001\u0000\u0000\u0000\u157d\u0303"+
55448 "\u0001\u0000\u0000\u0000\u157e\u1580\u0003\u031e\u018f\u0000\u157f\u1581"+
55449 "\u0003P(\u0000\u1580\u157f\u0001\u0000\u0000\u0000\u1580\u1581\u0001\u0000"+
55450 "\u0000\u0000\u1581\u1589\u0001\u0000\u0000\u0000\u1582\u1583\u0005%\u0000"+
55451 "\u0000\u1583\u1585\u0003\u031e\u018f\u0000\u1584\u1586\u0003P(\u0000\u1585"+
55452 "\u1584\u0001\u0000\u0000\u0000\u1585\u1586\u0001\u0000\u0000\u0000\u1586"+
55453 "\u1588\u0001\u0000\u0000\u0000\u1587\u1582\u0001\u0000\u0000\u0000\u1588"+
55454 "\u158b\u0001\u0000\u0000\u0000\u1589\u1587\u0001\u0000\u0000\u0000\u1589"+
55455 "\u158a\u0001\u0000\u0000\u0000\u158a\u0305\u0001\u0000\u0000\u0000\u158b"+
55456 "\u1589\u0001\u0000\u0000\u0000\u158c\u158d\u0003\u035c\u01ae\u0000\u158d"+
55457 "\u158e\u0005\u000e\u0000\u0000\u158e\u158f\u0005\u000e\u0000\u0000\u158f"+
55458 "\u1591\u0001\u0000\u0000\u0000\u1590\u158c\u0001\u0000\u0000\u0000\u1590"+
55459 "\u1591\u0001\u0000\u0000\u0000\u1591\u1592\u0001\u0000\u0000\u0000\u1592"+
55460 "\u1593\u0003\u030c\u0186\u0000\u1593\u0307\u0001\u0000\u0000\u0000\u1594"+
55461 "\u1599\u0003\u031e\u018f\u0000\u1595\u1596\u0005%\u0000\u0000\u1596\u1598"+
55462 "\u0003\u031e\u018f\u0000\u1597\u1595\u0001\u0000\u0000\u0000\u1598\u159b"+
55463 "\u0001\u0000\u0000\u0000\u1599\u1597\u0001\u0000\u0000\u0000\u1599\u159a"+
55464 "\u0001\u0000\u0000\u0000\u159a\u0309\u0001\u0000\u0000\u0000\u159b\u1599"+
55465 "\u0001\u0000\u0000\u0000\u159c\u159d\u0003\u035e\u01af\u0000\u159d\u159e"+
55466 "\u0005\u000e\u0000\u0000\u159e\u159f\u0005\u000e\u0000\u0000\u159f\u15a1"+
55467 "\u0001\u0000\u0000\u0000\u15a0\u159c\u0001\u0000\u0000\u0000\u15a0\u15a1"+
55468 "\u0001\u0000\u0000\u0000\u15a1\u15a2\u0001\u0000\u0000\u0000\u15a2\u15a3"+
55469 "\u0003\u030c\u0186\u0000\u15a3\u030b\u0001\u0000\u0000\u0000\u15a4\u15a5"+
55470 "\u0003L&\u0000\u15a5\u15a6\u0005\u0014\u0000\u0000\u15a6\u15a8\u0001\u0000"+
55471 "\u0000\u0000\u15a7\u15a4\u0001\u0000\u0000\u0000\u15a7\u15a8\u0001\u0000"+
55472 "\u0000\u0000\u15a8\u15a9\u0001\u0000\u0000\u0000\u15a9\u15aa\u0003N\'"+
55473 "\u0000\u15aa\u030d\u0001\u0000\u0000\u0000\u15ab\u15ac\u0003\u037c\u01be"+
55474 "\u0000\u15ac\u030f\u0001\u0000\u0000\u0000\u15ad\u15b3\u00058\u0000\u0000"+
55475 "\u15ae\u15b0\u0003\u031c\u018e\u0000\u15af\u15ae\u0001\u0000\u0000\u0000"+
55476 "\u15af\u15b0\u0001\u0000\u0000\u0000\u15b0\u15b1\u0001\u0000\u0000\u0000"+
55477 "\u15b1\u15b4\u0003\u0312\u0189\u0000\u15b2\u15b4\u0003\u0314\u018a\u0000"+
55478 "\u15b3\u15af\u0001\u0000\u0000\u0000\u15b3\u15b2\u0001\u0000\u0000\u0000"+
55479 "\u15b4\u0311\u0001\u0000\u0000\u0000\u15b5\u15b8\u0003\u0304\u0182\u0000"+
55480 "\u15b6\u15b7\u0005`\u0000\u0000\u15b7\u15b9\u0003\u0306\u0183\u0000\u15b8"+
55481 "\u15b6\u0001\u0000\u0000\u0000\u15b8\u15b9\u0001\u0000\u0000\u0000\u15b9"+
55482 "\u15ba\u0001\u0000\u0000\u0000\u15ba\u15bb\u0007Q\u0000\u0000\u15bb\u15c0"+
55483 "\u0003\u030e\u0187\u0000\u15bc\u15bd\u0005%\u0000\u0000\u15bd\u15bf\u0003"+
55484 "\u030e\u0187\u0000\u15be\u15bc\u0001\u0000\u0000\u0000\u15bf\u15c2\u0001"+
55485 "\u0000\u0000\u0000\u15c0\u15be\u0001\u0000\u0000\u0000\u15c0\u15c1\u0001"+
55486 "\u0000\u0000\u0000\u15c1\u15c4\u0001\u0000\u0000\u0000\u15c2\u15c0\u0001"+
55487 "\u0000\u0000\u0000\u15c3\u15c5\u0005\u00e2\u0000\u0000\u15c4\u15c3\u0001"+
55488 "\u0000\u0000\u0000\u15c4\u15c5\u0001\u0000\u0000\u0000\u15c5\u15c8\u0001"+
55489 "\u0000\u0000\u0000\u15c6\u15c7\u0005_\u0000\u0000\u15c7\u15c9\u0003\u030e"+
55490 "\u0187\u0000\u15c8\u15c6\u0001\u0000\u0000\u0000\u15c8\u15c9\u0001\u0000"+
55491 "\u0000\u0000\u15c9\u0313\u0001\u0000\u0000\u0000\u15ca\u15cd\u0003\u0308"+
55492 "\u0184\u0000\u15cb\u15cc\u0005`\u0000\u0000\u15cc\u15ce\u0003\u030a\u0185"+
55493 "\u0000\u15cd\u15cb\u0001\u0000\u0000\u0000\u15cd\u15ce\u0001\u0000\u0000"+
55494 "\u0000\u15ce\u15cf\u0001\u0000\u0000\u0000\u15cf\u15d0\u0007Q\u0000\u0000"+
55495 "\u15d0\u15d5\u0003\u030e\u0187\u0000\u15d1\u15d2\u0005%\u0000\u0000\u15d2"+
55496 "\u15d4\u0003\u030e\u0187\u0000\u15d3\u15d1\u0001\u0000\u0000\u0000\u15d4"+
55497 "\u15d7\u0001\u0000\u0000\u0000\u15d5\u15d3\u0001\u0000\u0000\u0000\u15d5"+
55498 "\u15d6\u0001\u0000\u0000\u0000\u15d6\u15d9\u0001\u0000\u0000\u0000\u15d7"+
55499 "\u15d5\u0001\u0000\u0000\u0000\u15d8\u15da\u0005\u00e2\u0000\u0000\u15d9"+
55500 "\u15d8\u0001\u0000\u0000\u0000\u15d9\u15da\u0001\u0000\u0000\u0000\u15da"+
55501 "\u0315\u0001\u0000\u0000\u0000\u15db\u15de\u0005\u00fc\u0000\u0000\u15dc"+
55502 "\u15df\u0003\u0318\u018c\u0000\u15dd\u15df\u0003\u031a\u018d\u0000\u15de"+
55503 "\u15dc\u0001\u0000\u0000\u0000\u15de\u15dd\u0001\u0000\u0000\u0000\u15df"+
55504 "\u0317\u0001\u0000\u0000\u0000\u15e0\u15e3\u0003\u0304\u0182\u0000\u15e1"+
55505 "\u15e2\u0005`\u0000\u0000\u15e2\u15e4\u0003\u0306\u0183\u0000\u15e3\u15e1"+
55506 "\u0001\u0000\u0000\u0000\u15e3\u15e4\u0001\u0000\u0000\u0000\u15e4\u15e5"+
55507 "\u0001\u0000\u0000\u0000\u15e5\u15e6\u0005e\u0000\u0000\u15e6\u15eb\u0003"+
55508 "\u030e\u0187\u0000\u15e7\u15e8\u0005%\u0000\u0000\u15e8\u15ea\u0003\u030e"+
55509 "\u0187\u0000\u15e9\u15e7\u0001\u0000\u0000\u0000\u15ea\u15ed\u0001\u0000"+
55510 "\u0000\u0000\u15eb\u15e9\u0001\u0000\u0000\u0000\u15eb\u15ec\u0001\u0000"+
55511 "\u0000\u0000\u15ec\u15ef\u0001\u0000\u0000\u0000\u15ed\u15eb\u0001\u0000"+
55512 "\u0000\u0000\u15ee\u15f0\u0005\u00e2\u0000\u0000\u15ef\u15ee\u0001\u0000"+
55513 "\u0000\u0000\u15ef\u15f0\u0001\u0000\u0000\u0000\u15f0\u15f3\u0001\u0000"+
55514 "\u0000\u0000\u15f1\u15f2\u0005_\u0000\u0000\u15f2\u15f4\u0003\u030e\u0187"+
55515 "\u0000\u15f3\u15f1\u0001\u0000\u0000\u0000\u15f3\u15f4\u0001\u0000\u0000"+
55516 "\u0000\u15f4\u0319\u0001\u0000\u0000\u0000\u15f5\u15f8\u0003\u0308\u0184"+
55517 "\u0000\u15f6\u15f7\u0005`\u0000\u0000\u15f7\u15f9\u0003\u030a\u0185\u0000"+
55518 "\u15f8\u15f6\u0001\u0000\u0000\u0000\u15f8\u15f9\u0001\u0000\u0000\u0000"+
55519 "\u15f9\u15fa\u0001\u0000\u0000\u0000\u15fa\u15fb\u0005e\u0000\u0000\u15fb"+
55520 "\u1600\u0003\u030e\u0187\u0000\u15fc\u15fd\u0005%\u0000\u0000\u15fd\u15ff"+
55521 "\u0003\u030e\u0187\u0000\u15fe\u15fc\u0001\u0000\u0000\u0000\u15ff\u1602"+
55522 "\u0001\u0000\u0000\u0000\u1600\u15fe\u0001\u0000\u0000\u0000\u1600\u1601"+
55523 "\u0001\u0000\u0000\u0000\u1601\u1604\u0001\u0000\u0000\u0000\u1602\u1600"+
55524 "\u0001\u0000\u0000\u0000\u1603\u1605\u0005\u00e2\u0000\u0000\u1604\u1603"+
55525 "\u0001\u0000\u0000\u0000\u1604\u1605\u0001\u0000\u0000\u0000\u1605\u031b"+
55526 "\u0001\u0000\u0000\u0000\u1606\u1607\u00057\u0000\u0000\u1607\u1608\u0005"+
55527 "\u00e6\u0000\u0000\u1608\u1609\u0005d\u0000\u0000\u1609\u031d\u0001\u0000"+
55528 "\u0000\u0000\u160a\u160c\u0005p\u0000\u0000\u160b\u160d\u0005\u00e7\u0000"+
55529 "\u0000\u160c\u160b\u0001\u0000\u0000\u0000\u160c\u160d\u0001\u0000\u0000"+
55530 "\u0000\u160d\u1622\u0001\u0000\u0000\u0000\u160e\u1622\u0003\u034a\u01a5"+
55531 "\u0000\u160f\u1622\u0003\u0348\u01a4\u0000\u1610\u1622\u0003\u034c\u01a6"+
55532 "\u0000\u1611\u1622\u0003\u0344\u01a2\u0000\u1612\u1622\u0003\u0320\u0190"+
55533 "\u0000\u1613\u1622\u0003\u0358\u01ac\u0000\u1614\u1622\u0003\u0326\u0193"+
55534 "\u0000\u1615\u1622\u0003\u0328\u0194\u0000\u1616\u1622\u0003\u0330\u0198"+
55535 "\u0000\u1617\u1622\u0003\u0342\u01a1\u0000\u1618\u1622\u0003\u034e\u01a7"+
55536 "\u0000\u1619\u1622\u0003\u0332\u0199\u0000\u161a\u1622\u0003\u0334\u019a"+
55537 "\u0000\u161b\u1622\u0003\u0322\u0191\u0000\u161c\u1622\u0003\u0324\u0192"+
55538 "\u0000\u161d\u1622\u0003\u0336\u019b\u0000\u161e\u1622\u0003\u0346\u01a3"+
55539 "\u0000\u161f\u1622\u0003\u0354\u01aa\u0000\u1620\u1622\u0003\u0356\u01ab"+
55540 "\u0000\u1621\u160a\u0001\u0000\u0000\u0000\u1621\u160e\u0001\u0000\u0000"+
55541 "\u0000\u1621\u160f\u0001\u0000\u0000\u0000\u1621\u1610\u0001\u0000\u0000"+
55542 "\u0000\u1621\u1611\u0001\u0000\u0000\u0000\u1621\u1612\u0001\u0000\u0000"+
55543 "\u0000\u1621\u1613\u0001\u0000\u0000\u0000\u1621\u1614\u0001\u0000\u0000"+
55544 "\u0000\u1621\u1615\u0001\u0000\u0000\u0000\u1621\u1616\u0001\u0000\u0000"+
55545 "\u0000\u1621\u1617\u0001\u0000\u0000\u0000\u1621\u1618\u0001\u0000\u0000"+
55546 "\u0000\u1621\u1619\u0001\u0000\u0000\u0000\u1621\u161a\u0001\u0000\u0000"+
55547 "\u0000\u1621\u161b\u0001\u0000\u0000\u0000\u1621\u161c\u0001\u0000\u0000"+
55548 "\u0000\u1621\u161d\u0001\u0000\u0000\u0000\u1621\u161e\u0001\u0000\u0000"+
55549 "\u0000\u1621\u161f\u0001\u0000\u0000\u0000\u1621\u1620\u0001\u0000\u0000"+
55550 "\u0000\u1622\u031f\u0001\u0000\u0000\u0000\u1623\u1634\u00053\u0000\u0000"+
55551 "\u1624\u1634\u0005\u0131\u0000\u0000\u1625\u1634\u00051\u0000\u0000\u1626"+
55552 "\u1634\u0005\u012b\u0000\u0000\u1627\u1634\u0005/\u0000\u0000\u1628\u1634"+
55553 "\u0005\u013b\u0000\u0000\u1629\u1634\u0005\u00e8\u0000\u0000\u162a\u1634"+
55554 "\u0005.\u0000\u0000\u162b\u162c\u0005\u0133\u0000\u0000\u162c\u1634\u0005"+
55555 "\u0134\u0000\u0000\u162d\u1634\u00050\u0000\u0000\u162e\u162f\u0005I\u0000"+
55556 "\u0000\u162f\u1630\u0005\u013c\u0000\u0000\u1630\u1634\u0005\u013e\u0000"+
55557 "\u0000\u1631\u1632\u0005I\u0000\u0000\u1632\u1634\u0005\u0135\u0000\u0000"+
55558 "\u1633\u1623\u0001\u0000\u0000\u0000\u1633\u1624\u0001\u0000\u0000\u0000"+
55559 "\u1633\u1625\u0001\u0000\u0000\u0000\u1633\u1626\u0001\u0000\u0000\u0000"+
55560 "\u1633\u1627\u0001\u0000\u0000\u0000\u1633\u1628\u0001\u0000\u0000\u0000"+
55561 "\u1633\u1629\u0001\u0000\u0000\u0000\u1633\u162a\u0001\u0000\u0000\u0000"+
55562 "\u1633\u162b\u0001\u0000\u0000\u0000\u1633\u162d\u0001\u0000\u0000\u0000"+
55563 "\u1633\u162e\u0001\u0000\u0000\u0000\u1633\u1631\u0001\u0000\u0000\u0000"+
55564 "\u1634\u0321\u0001\u0000\u0000\u0000\u1635\u1636\u0005\u0150\u0000\u0000"+
55565 "\u1636\u1637\u0005\u0151\u0000\u0000\u1637\u1683\u0005\u0152\u0000\u0000"+
55566 "\u1638\u163e\u00053\u0000\u0000\u1639\u163f\u0005\u013f\u0000\u0000\u163a"+
55567 "\u163f\u0005\u0140\u0000\u0000\u163b\u163f\u0005\u013d\u0000\u0000\u163c"+
55568 "\u163d\u0005\u013a\u0000\u0000\u163d\u163f\u0005\u0141\u0000\u0000\u163e"+
55569 "\u1639\u0001\u0000\u0000\u0000\u163e\u163a\u0001\u0000\u0000\u0000\u163e"+
55570 "\u163b\u0001\u0000\u0000\u0000\u163e\u163c\u0001\u0000\u0000\u0000\u163f"+
55571 "\u1683\u0001\u0000\u0000\u0000\u1640\u1641\u00053\u0000\u0000\u1641\u1653"+
55572 "\u0005q\u0000\u0000\u1642\u1643\u0005\u0142\u0000\u0000\u1643\u1654\u0005"+
55573 "t\u0000\u0000\u1644\u1654\u0005\u012f\u0000\u0000\u1645\u1654\u0005\u0143"+
55574 "\u0000\u0000\u1646\u1654\u0005\u00ca\u0000\u0000\u1647\u1654\u0005\u0144"+
55575 "\u0000\u0000\u1648\u1649\u0005\u0145\u0000\u0000\u1649\u1654\u0005\u0146"+
55576 "\u0000\u0000\u164a\u164b\u0005\u0145\u0000\u0000\u164b\u1654\u0005\u012d"+
55577 "\u0000\u0000\u164c\u164d\u0005\u0147\u0000\u0000\u164d\u1654\u0005\u013a"+
55578 "\u0000\u0000\u164e\u1654\u0005\u010e\u0000\u0000\u164f\u1650\u0005\u013a"+
55579 "\u0000\u0000\u1650\u1654\u0005\u0148\u0000\u0000\u1651\u1652\u0005\u013a"+
55580 "\u0000\u0000\u1652\u1654\u0005\u00ea\u0000\u0000\u1653\u1642\u0001\u0000"+
55581 "\u0000\u0000\u1653\u1644\u0001\u0000\u0000\u0000\u1653\u1645\u0001\u0000"+
55582 "\u0000\u0000\u1653\u1646\u0001\u0000\u0000\u0000\u1653\u1647\u0001\u0000"+
55583 "\u0000\u0000\u1653\u1648\u0001\u0000\u0000\u0000\u1653\u164a\u0001\u0000"+
55584 "\u0000\u0000\u1653\u164c\u0001\u0000\u0000\u0000\u1653\u164e\u0001\u0000"+
55585 "\u0000\u0000\u1653\u164f\u0001\u0000\u0000\u0000\u1653\u1651\u0001\u0000"+
55586 "\u0000\u0000\u1654\u1683\u0001\u0000\u0000\u0000\u1655\u1656\u0005\u014d"+
55587 "\u0000\u0000\u1656\u1683\u0005\u013a\u0000\u0000\u1657\u1658\u0005\u012e"+
55588 "\u0000\u0000\u1658\u1659\u0005q\u0000\u0000\u1659\u1683\u0005\u00ca\u0000"+
55589 "\u0000\u165a\u165b\u0005\u012e\u0000\u0000\u165b\u1683\u0005\u00a2\u0000"+
55590 "\u0000\u165c\u165d\u0005\u0131\u0000\u0000\u165d\u1683\u0005\u013a\u0000"+
55591 "\u0000\u165e\u165f\u00052\u0000\u0000\u165f\u1660\u0005q\u0000\u0000\u1660"+
55592 "\u1683\u0005\u00ca\u0000\u0000\u1661\u166d\u00052\u0000\u0000\u1662\u1663"+
55593 "\u0005\u0142\u0000\u0000\u1663\u166e\u0005t\u0000\u0000\u1664\u1665\u0005"+
55594 "\u0149\u0000\u0000\u1665\u1666\u0005\u0145\u0000\u0000\u1666\u166e\u0005"+
55595 "\u0146\u0000\u0000\u1667\u166e\u0005\u0144\u0000\u0000\u1668\u1669\u0005"+
55596 "\u013a\u0000\u0000\u1669\u166e\u0005\u00ea\u0000\u0000\u166a\u166b\u0005"+
55597 "\u013d\u0000\u0000\u166b\u166c\u0005\u0145\u0000\u0000\u166c\u166e\u0005"+
55598 "\u0146\u0000\u0000\u166d\u1662\u0001\u0000\u0000\u0000\u166d\u1664\u0001"+
55599 "\u0000\u0000\u0000\u166d\u1667\u0001\u0000\u0000\u0000\u166d\u1668\u0001"+
55600 "\u0000\u0000\u0000\u166d\u166a\u0001\u0000\u0000\u0000\u166e\u1683\u0001"+
55601 "\u0000\u0000\u0000\u166f\u1670\u0005\u014e\u0000\u0000\u1670\u1671\u0005"+
55602 "\u014f\u0000\u0000\u1671\u1683\u0005\u0137\u0000\u0000\u1672\u1673\u0005"+
55603 "\u014b\u0000\u0000\u1673\u1674\u0005q\u0000\u0000\u1674\u1683\u0005\u010e"+
55604 "\u0000\u0000\u1675\u1676\u0005.\u0000\u0000\u1676\u1677\u0005p\u0000\u0000"+
55605 "\u1677\u1678\u0005\u00e9\u0000\u0000\u1678\u1683\u0005\u014c\u0000\u0000"+
55606 "\u1679\u1683\u0005\u0154\u0000\u0000\u167a\u167b\u0005\u0153\u0000\u0000"+
55607 "\u167b\u1683\u0005\u0137\u0000\u0000\u167c\u167d\u0005I\u0000\u0000\u167d"+
55608 "\u167e\u0005q\u0000\u0000\u167e\u1683\u0007R\u0000\u0000\u167f\u1680\u0005"+
55609 "I\u0000\u0000\u1680\u1681\u0005\u013a\u0000\u0000\u1681\u1683\u0005\u0141"+
55610 "\u0000\u0000\u1682\u1635\u0001\u0000\u0000\u0000\u1682\u1638\u0001\u0000"+
55611 "\u0000\u0000\u1682\u1640\u0001\u0000\u0000\u0000\u1682\u1655\u0001\u0000"+
55612 "\u0000\u0000\u1682\u1657\u0001\u0000\u0000\u0000\u1682\u165a\u0001\u0000"+
55613 "\u0000\u0000\u1682\u165c\u0001\u0000\u0000\u0000\u1682\u165e\u0001\u0000"+
55614 "\u0000\u0000\u1682\u1661\u0001\u0000\u0000\u0000\u1682\u166f\u0001\u0000"+
55615 "\u0000\u0000\u1682\u1672\u0001\u0000\u0000\u0000\u1682\u1675\u0001\u0000"+
55616 "\u0000\u0000\u1682\u1679\u0001\u0000\u0000\u0000\u1682\u167a\u0001\u0000"+
55617 "\u0000\u0000\u1682\u167c\u0001\u0000\u0000\u0000\u1682\u167f\u0001\u0000"+
55618 "\u0000\u0000\u1683\u0323\u0001\u0000\u0000\u0000\u1684\u1686\u0005\u0131"+
55619 "\u0000\u0000\u1685\u1687\u0005\u013a\u0000\u0000\u1686\u1685\u0001\u0000"+
55620 "\u0000\u0000\u1686\u1687\u0001\u0000\u0000\u0000\u1687\u1697\u0001\u0000"+
55621 "\u0000\u0000\u1688\u1697\u0005\u014b\u0000\u0000\u1689\u168b\u0005I\u0000"+
55622 "\u0000\u168a\u168c\u0005q\u0000\u0000\u168b\u168a\u0001\u0000\u0000\u0000"+
55623 "\u168b\u168c\u0001\u0000\u0000\u0000\u168c\u168d\u0001\u0000\u0000\u0000"+
55624 "\u168d\u1697\u0005\u0135\u0000\u0000\u168e\u1697\u00053\u0000\u0000\u168f"+
55625 "\u1690\u00053\u0000\u0000\u1690\u1694\u0005q\u0000\u0000\u1691\u1695\u0005"+
55626 "\u010e\u0000\u0000\u1692\u1693\u0005\u013a\u0000\u0000\u1693\u1695\u0005"+
55627 "\u00ea\u0000\u0000\u1694\u1691\u0001\u0000\u0000\u0000\u1694\u1692\u0001"+
55628 "\u0000\u0000\u0000\u1695\u1697\u0001\u0000\u0000\u0000\u1696\u1684\u0001"+
55629 "\u0000\u0000\u0000\u1696\u1688\u0001\u0000\u0000\u0000\u1696\u1689\u0001"+
55630 "\u0000\u0000\u0000\u1696\u168e\u0001\u0000\u0000\u0000\u1696\u168f\u0001"+
55631 "\u0000\u0000\u0000\u1697\u0325\u0001\u0000\u0000\u0000\u1698\u1699\u0005"+
55632 "\u0150\u0000\u0000\u1699\u169a\u0005\u00ca\u0000\u0000\u169a\u169b\u0005"+
55633 "\u0151\u0000\u0000\u169b\u1740\u0005\u0152\u0000\u0000\u169c\u1740\u0005"+
55634 "3\u0000\u0000\u169d\u169e\u00053\u0000\u0000\u169e\u1740\u0005\u013d\u0000"+
55635 "\u0000\u169f\u16a0\u00053\u0000\u0000\u16a0\u16da\u0005q\u0000\u0000\u16a1"+
55636 "\u16a2\u0005\u0136\u0000\u0000\u16a2\u16db\u0005\u00ea\u0000\u0000\u16a3"+
55637 "\u16db\u0005\u0137\u0000\u0000\u16a4\u16a9\u0005\u0138\u0000\u0000\u16a5"+
55638 "\u16a9\u0005\u0139\u0000\u0000\u16a6\u16a7\u0005<\u0000\u0000\u16a7\u16a9"+
55639 "\u0005\u015b\u0000\u0000\u16a8\u16a4\u0001\u0000\u0000\u0000\u16a8\u16a5"+
55640 "\u0001\u0000\u0000\u0000\u16a8\u16a6\u0001\u0000\u0000\u0000\u16a9\u16aa"+
55641 "\u0001\u0000\u0000\u0000\u16aa\u16db\u0005B\u0000\u0000\u16ab\u16db\u0005"+
55642 "\u0159\u0000\u0000\u16ac\u16db\u0005\u012f\u0000\u0000\u16ad\u16ae\u0005"+
55643 "<\u0000\u0000\u16ae\u16af\u0005\u015c\u0000\u0000\u16af\u16b0\u0005B\u0000"+
55644 "\u0000\u16b0\u16db\u0005\u0135\u0000\u0000\u16b1\u16db\u0005\u015a\u0000"+
55645 "\u0000\u16b2\u16bc\u0005\u00ca\u0000\u0000\u16b3\u16bd\u0005\u0148\u0000"+
55646 "\u0000\u16b4\u16b5\u0005\u0149\u0000\u0000\u16b5\u16bd\u0005F\u0000\u0000"+
55647 "\u16b6\u16b7\u0005\u0145\u0000\u0000\u16b7\u16bd\u0005\u0146\u0000\u0000"+
55648 "\u16b8\u16b9\u0005\u0145\u0000\u0000\u16b9\u16bd\u0005\u012d\u0000\u0000"+
55649 "\u16ba\u16bb\u0005\u0155\u0000\u0000\u16bb\u16bd\u0005\u0156\u0000\u0000"+
55650 "\u16bc\u16b3\u0001\u0000\u0000\u0000\u16bc\u16b4\u0001\u0000\u0000\u0000"+
55651 "\u16bc\u16b6\u0001\u0000\u0000\u0000\u16bc\u16b8\u0001\u0000\u0000\u0000"+
55652 "\u16bc\u16ba\u0001\u0000\u0000\u0000\u16bc\u16bd\u0001\u0000\u0000\u0000"+
55653 "\u16bd\u16db\u0001\u0000\u0000\u0000\u16be\u16db\u0005\u0157\u0000\u0000"+
55654 "\u16bf\u16c0\u0005\u0145\u0000\u0000\u16c0\u16db\u0007S\u0000\u0000\u16c1"+
55655 "\u16c7\u0005\u014e\u0000\u0000\u16c2\u16c3\u0005\u015d\u0000\u0000\u16c3"+
55656 "\u16c8\u0005\u015e\u0000\u0000\u16c4\u16c5\u0005\u015f\u0000\u0000\u16c5"+
55657 "\u16c8\u0005\u0160\u0000\u0000\u16c6\u16c8\u0005\u0161\u0000\u0000\u16c7"+
55658 "\u16c2\u0001\u0000\u0000\u0000\u16c7\u16c4\u0001\u0000\u0000\u0000\u16c7"+
55659 "\u16c6\u0001\u0000\u0000\u0000\u16c8\u16db\u0001\u0000\u0000\u0000\u16c9"+
55660 "\u16ca\u0005\u0162\u0000\u0000\u16ca\u16db\u0005\u0130\u0000\u0000\u16cb"+
55661 "\u16db\u0005\u0163\u0000\u0000\u16cc\u16cd\u0005\u0165\u0000\u0000\u16cd"+
55662 "\u16db\u0005\u00ae\u0000\u0000\u16ce\u16cf\u0005\u0166\u0000\u0000\u16cf"+
55663 "\u16d0\u0005\u0158\u0000\u0000\u16d0\u16db\u0005\u0167\u0000\u0000\u16d1"+
55664 "\u16db\u0005\u00ea\u0000\u0000\u16d2\u16db\u0005\u0168\u0000\u0000\u16d3"+
55665 "\u16d4\u0005\u013a\u0000\u0000\u16d4\u16db\u0005\u0148\u0000\u0000\u16d5"+
55666 "\u16db\u00056\u0000\u0000\u16d6\u16d7\u0005\u0169\u0000\u0000\u16d7\u16db"+
55667 "\u0005\u016a\u0000\u0000\u16d8\u16db\u0005\u0158\u0000\u0000\u16d9\u16db"+
55668 "\u0005\u00e9\u0000\u0000\u16da\u16a1\u0001\u0000\u0000\u0000\u16da\u16a3"+
55669 "\u0001\u0000\u0000\u0000\u16da\u16a8\u0001\u0000\u0000\u0000\u16da\u16ab"+
55670 "\u0001\u0000\u0000\u0000\u16da\u16ac\u0001\u0000\u0000\u0000\u16da\u16ad"+
55671 "\u0001\u0000\u0000\u0000\u16da\u16b1\u0001\u0000\u0000\u0000\u16da\u16b2"+
55672 "\u0001\u0000\u0000\u0000\u16da\u16be\u0001\u0000\u0000\u0000\u16da\u16bf"+
55673 "\u0001\u0000\u0000\u0000\u16da\u16c1\u0001\u0000\u0000\u0000\u16da\u16c9"+
55674 "\u0001\u0000\u0000\u0000\u16da\u16cb\u0001\u0000\u0000\u0000\u16da\u16cc"+
55675 "\u0001\u0000\u0000\u0000\u16da\u16ce\u0001\u0000\u0000\u0000\u16da\u16d1"+
55676 "\u0001\u0000\u0000\u0000\u16da\u16d2\u0001\u0000\u0000\u0000\u16da\u16d3"+
55677 "\u0001\u0000\u0000\u0000\u16da\u16d5\u0001\u0000\u0000\u0000\u16da\u16d6"+
55678 "\u0001\u0000\u0000\u0000\u16da\u16d8\u0001\u0000\u0000\u0000\u16da\u16d9"+
55679 "\u0001\u0000\u0000\u0000\u16db\u1740\u0001\u0000\u0000\u0000\u16dc\u16de"+
55680 "\u0005\u014d\u0000\u0000\u16dd\u16df\u0005\u013a\u0000\u0000\u16de\u16dd"+
55681 "\u0001\u0000\u0000\u0000\u16de\u16df\u0001\u0000\u0000\u0000\u16df\u1740"+
55682 "\u0001\u0000\u0000\u0000\u16e0\u16e1\u0005\u0172\u0000\u0000\u16e1\u1740"+
55683 "\u0007T\u0000\u0000\u16e2\u1740\u0005\u0178\u0000\u0000\u16e3\u1740\u0005"+
55684 "\u012e\u0000\u0000\u16e4\u16e6\u0005\u012e\u0000\u0000\u16e5\u16e7\u0005"+
55685 "\u0121\u0000\u0000\u16e6\u16e5\u0001\u0000\u0000\u0000\u16e6\u16e7\u0001"+
55686 "\u0000\u0000\u0000\u16e7\u1740\u0001\u0000\u0000\u0000\u16e8\u16ea\u0005"+
55687 "\u0131\u0000\u0000\u16e9\u16eb\u0005\u013a\u0000\u0000\u16ea\u16e9\u0001"+
55688 "\u0000\u0000\u0000\u16ea\u16eb\u0001\u0000\u0000\u0000\u16eb\u1740\u0001"+
55689 "\u0000\u0000\u0000\u16ec\u1711\u00052\u0000\u0000\u16ed\u1712\u0005\u016b"+
55690 "\u0000\u0000\u16ee\u1712\u0005\u0137\u0000\u0000\u16ef\u16f0\u0007U\u0000"+
55691 "\u0000\u16f0\u1712\u0005B\u0000\u0000\u16f1\u1712\u0005\u0159\u0000\u0000"+
55692 "\u16f2\u1712\u0005\u015a\u0000\u0000\u16f3\u1712\u0005\u00ca\u0000\u0000"+
55693 "\u16f4\u16f6\u0005\u00ca\u0000\u0000\u16f5\u16f4\u0001\u0000\u0000\u0000"+
55694 "\u16f5\u16f6\u0001\u0000\u0000\u0000\u16f6\u16f7\u0001\u0000\u0000\u0000"+
55695 "\u16f7\u16f8\u0005\u0149\u0000\u0000\u16f8\u16f9\u0005\u0145\u0000\u0000"+
55696 "\u16f9\u1712\u0005\u0146\u0000\u0000\u16fa\u1712\u0005\u0098\u0000\u0000"+
55697 "\u16fb\u16fc\u0005\u0162\u0000\u0000\u16fc\u1712\u0005\u0130\u0000\u0000"+
55698 "\u16fd\u1712\u0005E\u0000\u0000\u16fe\u16ff\u0005\u0165\u0000\u0000\u16ff"+
55699 "\u1712\u0005\u00ae\u0000\u0000\u1700\u1712\u0005G\u0000\u0000\u1701\u1712"+
55700 "\u0005\u016c\u0000\u0000\u1702\u1703\u0005\u0166\u0000\u0000\u1703\u1704"+
55701 "\u0005\u0158\u0000\u0000\u1704\u1712\u0005\u0167\u0000\u0000\u1705\u1712"+
55702 "\u0005\u00ea\u0000\u0000\u1706\u1712\u0005\u0168\u0000\u0000\u1707\u1712"+
55703 "\u0005\u016d\u0000\u0000\u1708\u1712\u00056\u0000\u0000\u1709\u1712\u0005"+
55704 "\u0158\u0000\u0000\u170a\u1712\u0005\u016e\u0000\u0000\u170b\u1712\u0005"+
55705 ";\u0000\u0000\u170c\u1712\u0005\u00ae\u0000\u0000\u170d\u1712\u0005I\u0000"+
55706 "\u0000\u170e\u170f\u0005\u014a\u0000\u0000\u170f\u1710\u00056\u0000\u0000"+
55707 "\u1710\u1712\u0005\u016f\u0000\u0000\u1711\u16ed\u0001\u0000\u0000\u0000"+
55708 "\u1711\u16ee\u0001\u0000\u0000\u0000\u1711\u16ef\u0001\u0000\u0000\u0000"+
55709 "\u1711\u16f1\u0001\u0000\u0000\u0000\u1711\u16f2\u0001\u0000\u0000\u0000"+
55710 "\u1711\u16f3\u0001\u0000\u0000\u0000\u1711\u16f5\u0001\u0000\u0000\u0000"+
55711 "\u1711\u16fa\u0001\u0000\u0000\u0000\u1711\u16fb\u0001\u0000\u0000\u0000"+
55712 "\u1711\u16fd\u0001\u0000\u0000\u0000\u1711\u16fe\u0001\u0000\u0000\u0000"+
55713 "\u1711\u1700\u0001\u0000\u0000\u0000\u1711\u1701\u0001\u0000\u0000\u0000"+
55714 "\u1711\u1702\u0001\u0000\u0000\u0000\u1711\u1705\u0001\u0000\u0000\u0000"+
55715 "\u1711\u1706\u0001\u0000\u0000\u0000\u1711\u1707\u0001\u0000\u0000\u0000"+
55716 "\u1711\u1708\u0001\u0000\u0000\u0000\u1711\u1709\u0001\u0000\u0000\u0000"+
55717 "\u1711\u170a\u0001\u0000\u0000\u0000\u1711\u170b\u0001\u0000\u0000\u0000"+
55718 "\u1711\u170c\u0001\u0000\u0000\u0000\u1711\u170d\u0001\u0000\u0000\u0000"+
55719 "\u1711\u170e\u0001\u0000\u0000\u0000\u1712\u1740\u0001\u0000\u0000\u0000"+
55720 "\u1713\u1740\u00051\u0000\u0000\u1714\u1740\u0005\u012b\u0000\u0000\u1715"+
55721 "\u1717\u0005\u012b\u0000\u0000\u1716\u1718\u0005q\u0000\u0000\u1717\u1716"+
55722 "\u0001\u0000\u0000\u0000\u1717\u1718\u0001\u0000\u0000\u0000\u1718\u1719"+
55723 "\u0001\u0000\u0000\u0000\u1719\u171a\u0005\u014e\u0000\u0000\u171a\u1740"+
55724 "\u0005\u0170\u0000\u0000\u171b\u1740\u0005/\u0000\u0000\u171c\u171d\u0005"+
55725 "\u0171\u0000\u0000\u171d\u171e\u0005\u00ca\u0000\u0000\u171e\u1740\u0005"+
55726 "\u012f\u0000\u0000\u171f\u1740\u0005\u00e8\u0000\u0000\u1720\u1740\u0005"+
55727 ".\u0000\u0000\u1721\u1740\u0005\u0174\u0000\u0000\u1722\u1723\u0005\u0175"+
55728 "\u0000\u0000\u1723\u1724\u0005\u0176\u0000\u0000\u1724\u1740\u0005\u0177"+
55729 "\u0000\u0000\u1725\u1726\u0005\u0133\u0000\u0000\u1726\u1740\u0005\u0134"+
55730 "\u0000\u0000\u1727\u1740\u0005\u0164\u0000\u0000\u1728\u1740\u00050\u0000"+
55731 "\u0000\u1729\u172a\u0005I\u0000\u0000\u172a\u172b\u0005q\u0000\u0000\u172b"+
55732 "\u172c\u0005<\u0000\u0000\u172c\u172d\u0007V\u0000\u0000\u172d\u172e\u0005"+
55733 "B\u0000\u0000\u172e\u1740\u0005\u0135\u0000\u0000\u172f\u1730\u00052\u0000"+
55734 "\u0000\u1730\u1734\u0005q\u0000\u0000\u1731\u1735\u0005\u00ca\u0000\u0000"+
55735 "\u1732\u1733\u0005\u014e\u0000\u0000\u1733\u1735\u0005\u0161\u0000\u0000"+
55736 "\u1734\u1731\u0001\u0000\u0000\u0000\u1734\u1732\u0001\u0000\u0000\u0000"+
55737 "\u1735\u1740\u0001\u0000\u0000\u0000\u1736\u1737\u0005I\u0000\u0000\u1737"+
55738 "\u1738\u0007W\u0000\u0000\u1738\u1740\u0005\u0141\u0000\u0000\u1739\u173b"+
55739 "\u0005I\u0000\u0000\u173a\u173c\u0005q\u0000\u0000\u173b\u173a\u0001\u0000"+
55740 "\u0000\u0000\u173b\u173c\u0001\u0000\u0000\u0000\u173c\u173d\u0001\u0000"+
55741 "\u0000\u0000\u173d\u1740\u0005\u0135\u0000\u0000\u173e\u1740\u0001\u0000"+
55742 "\u0000\u0000\u173f\u1698\u0001\u0000\u0000\u0000\u173f\u169c\u0001\u0000"+
55743 "\u0000\u0000\u173f\u169d\u0001\u0000\u0000\u0000\u173f\u169f\u0001\u0000"+
55744 "\u0000\u0000\u173f\u16dc\u0001\u0000\u0000\u0000\u173f\u16e0\u0001\u0000"+
55745 "\u0000\u0000\u173f\u16e2\u0001\u0000\u0000\u0000\u173f\u16e3\u0001\u0000"+
55746 "\u0000\u0000\u173f\u16e4\u0001\u0000\u0000\u0000\u173f\u16e8\u0001\u0000"+
55747 "\u0000\u0000\u173f\u16ec\u0001\u0000\u0000\u0000\u173f\u1713\u0001\u0000"+
55748 "\u0000\u0000\u173f\u1714\u0001\u0000\u0000\u0000\u173f\u1715\u0001\u0000"+
55749 "\u0000\u0000\u173f\u171b\u0001\u0000\u0000\u0000\u173f\u171c\u0001\u0000"+
55750 "\u0000\u0000\u173f\u171f\u0001\u0000\u0000\u0000\u173f\u1720\u0001\u0000"+
55751 "\u0000\u0000\u173f\u1721\u0001\u0000\u0000\u0000\u173f\u1722\u0001\u0000"+
55752 "\u0000\u0000\u173f\u1725\u0001\u0000\u0000\u0000\u173f\u1727\u0001\u0000"+
55753 "\u0000\u0000\u173f\u1728\u0001\u0000\u0000\u0000\u173f\u1729\u0001\u0000"+
55754 "\u0000\u0000\u173f\u172f\u0001\u0000\u0000\u0000\u173f\u1736\u0001\u0000"+
55755 "\u0000\u0000\u173f\u1739\u0001\u0000\u0000\u0000\u173f\u173e\u0001\u0000"+
55756 "\u0000\u0000\u1740\u0327\u0001\u0000\u0000\u0000\u1741\u1745\u0003\u032a"+
55757 "\u0195\u0000\u1742\u1745\u0003\u032c\u0196\u0000\u1743\u1745\u0003\u032e"+
55758 "\u0197\u0000\u1744\u1741\u0001\u0000\u0000\u0000\u1744\u1742\u0001\u0000"+
55759 "\u0000\u0000\u1744\u1743\u0001\u0000\u0000\u0000\u1745\u0329\u0001\u0000"+
55760 "\u0000\u0000\u1746\u174f\u0005\u0131\u0000\u0000\u1747\u174f\u0005\u014b"+
55761 "\u0000\u0000\u1748\u174f\u00053\u0000\u0000\u1749\u174a\u0005I\u0000\u0000"+
55762 "\u174a\u174f\u0005\u0135\u0000\u0000\u174b\u174c\u00053\u0000\u0000\u174c"+
55763 "\u174d\u0005q\u0000\u0000\u174d\u174f\u0005\u00e9\u0000\u0000\u174e\u1746"+
55764 "\u0001\u0000\u0000\u0000\u174e\u1747\u0001\u0000\u0000\u0000\u174e\u1748"+
55765 "\u0001\u0000\u0000\u0000\u174e\u1749\u0001\u0000\u0000\u0000\u174e\u174b"+
55766 "\u0001\u0000\u0000\u0000\u174f\u032b\u0001\u0000\u0000\u0000\u1750\u175a"+
55767 "\u0005\u0131\u0000\u0000\u1751\u1752\u0005\u0133\u0000\u0000\u1752\u175a"+
55768 "\u0005\u0134\u0000\u0000\u1753\u175a\u00053\u0000\u0000\u1754\u1755\u0005"+
55769 "I\u0000\u0000\u1755\u175a\u0005\u0135\u0000\u0000\u1756\u1757\u00053\u0000"+
55770 "\u0000\u1757\u1758\u0005q\u0000\u0000\u1758\u175a\u0005\u00ea\u0000\u0000"+
55771 "\u1759\u1750\u0001\u0000\u0000\u0000\u1759\u1751\u0001\u0000\u0000\u0000"+
55772 "\u1759\u1753\u0001\u0000\u0000\u0000\u1759\u1754\u0001\u0000\u0000\u0000"+
55773 "\u1759\u1756\u0001\u0000\u0000\u0000\u175a\u032d\u0001\u0000\u0000\u0000"+
55774 "\u175b\u1764\u0005\u0131\u0000\u0000\u175c\u1764\u00053\u0000\u0000\u175d"+
55775 "\u175e\u0005I\u0000\u0000\u175e\u1764\u0005\u0135\u0000\u0000\u175f\u1760"+
55776 "\u00053\u0000\u0000\u1760\u1761\u0005q\u0000\u0000\u1761\u1762\u0005\u0136"+
55777 "\u0000\u0000\u1762\u1764\u0005\u00ea\u0000\u0000\u1763\u175b\u0001\u0000"+
55778 "\u0000\u0000\u1763\u175c\u0001\u0000\u0000\u0000\u1763\u175d\u0001\u0000"+
55779 "\u0000\u0000\u1763\u175f\u0001\u0000\u0000\u0000\u1764\u032f\u0001\u0000"+
55780 "\u0000\u0000\u1765\u176d\u0005\u0131\u0000\u0000\u1766\u1767\u0005\u0133"+
55781 "\u0000\u0000\u1767\u176d\u0005\u0134\u0000\u0000\u1768\u176d\u00053\u0000"+
55782 "\u0000\u1769\u176d\u0005\u00e8\u0000\u0000\u176a\u176b\u0005I\u0000\u0000"+
55783 "\u176b\u176d\u0005\u0135\u0000\u0000\u176c\u1765\u0001\u0000\u0000\u0000"+
55784 "\u176c\u1766\u0001\u0000\u0000\u0000\u176c\u1768\u0001\u0000\u0000\u0000"+
55785 "\u176c\u1769\u0001\u0000\u0000\u0000\u176c\u176a\u0001\u0000\u0000\u0000"+
55786 "\u176d\u0331\u0001\u0000\u0000\u0000\u176e\u1783\u00053\u0000\u0000\u176f"+
55787 "\u1783\u0005\u0131\u0000\u0000\u1770\u1771\u00052\u0000\u0000\u1771\u1783"+
55788 "\u0005\u0179\u0000\u0000\u1772\u1783\u00051\u0000\u0000\u1773\u1783\u0005"+
55789 "\u012b\u0000\u0000\u1774\u1783\u0005/\u0000\u0000\u1775\u1783\u0005\u00e8"+
55790 "\u0000\u0000\u1776\u1783\u0005.\u0000\u0000\u1777\u1778\u0005\u0133\u0000"+
55791 "\u0000\u1778\u1783\u0005\u0134\u0000\u0000\u1779\u1783\u00050\u0000\u0000"+
55792 "\u177a\u177b\u0005I\u0000\u0000\u177b\u177c\u0005\u013c\u0000\u0000\u177c"+
55793 "\u1783\u0005\u013e\u0000\u0000\u177d\u177e\u0005I\u0000\u0000\u177e\u1783"+
55794 "\u0005\u0135\u0000\u0000\u177f\u1780\u00053\u0000\u0000\u1780\u1781\u0005"+
55795 "q\u0000\u0000\u1781\u1783\u00056\u0000\u0000\u1782\u176e\u0001\u0000\u0000"+
55796 "\u0000\u1782\u176f\u0001\u0000\u0000\u0000\u1782\u1770\u0001\u0000\u0000"+
55797 "\u0000\u1782\u1772\u0001\u0000\u0000\u0000\u1782\u1773\u0001\u0000\u0000"+
55798 "\u0000\u1782\u1774\u0001\u0000\u0000\u0000\u1782\u1775\u0001\u0000\u0000"+
55799 "\u0000\u1782\u1776\u0001\u0000\u0000\u0000\u1782\u1777\u0001\u0000\u0000"+
55800 "\u0000\u1782\u1779\u0001\u0000\u0000\u0000\u1782\u177a\u0001\u0000\u0000"+
55801 "\u0000\u1782\u177d\u0001\u0000\u0000\u0000\u1782\u177f\u0001\u0000\u0000"+
55802 "\u0000\u1783\u0333\u0001\u0000\u0000\u0000\u1784\u1790\u00053\u0000\u0000"+
55803 "\u1785\u1790\u0005\u0131\u0000\u0000\u1786\u1790\u0005\u00e8\u0000\u0000"+
55804 "\u1787\u1788\u0005\u0133\u0000\u0000\u1788\u1790\u0005\u0134\u0000\u0000"+
55805 "\u1789\u178a\u0005I\u0000\u0000\u178a\u1790\u0005\u0135\u0000\u0000\u178b"+
55806 "\u178c\u00053\u0000\u0000\u178c\u178d\u0005q\u0000\u0000\u178d\u178e\u0005"+
55807 "\u0162\u0000\u0000\u178e\u1790\u0005\u0130\u0000\u0000\u178f\u1784\u0001"+
55808 "\u0000\u0000\u0000\u178f\u1785\u0001\u0000\u0000\u0000\u178f\u1786\u0001"+
55809 "\u0000\u0000\u0000\u178f\u1787\u0001\u0000\u0000\u0000\u178f\u1789\u0001"+
55810 "\u0000\u0000\u0000\u178f\u178b\u0001\u0000\u0000\u0000\u1790\u0335\u0001"+
55811 "\u0000\u0000\u0000\u1791\u1797\u0003\u0338\u019c\u0000\u1792\u1797\u0003"+
55812 "\u033a\u019d\u0000\u1793\u1797\u0003\u033c\u019e\u0000\u1794\u1797\u0003"+
55813 "\u033e\u019f\u0000\u1795\u1797\u0003\u0340\u01a0\u0000\u1796\u1791\u0001"+
55814 "\u0000\u0000\u0000\u1796\u1792\u0001\u0000\u0000\u0000\u1796\u1793\u0001"+
55815 "\u0000\u0000\u0000\u1796\u1794\u0001\u0000\u0000\u0000\u1796\u1795\u0001"+
55816 "\u0000\u0000\u0000\u1797\u0337\u0001\u0000\u0000\u0000\u1798\u17a3\u0005"+
55817 "\u0131\u0000\u0000\u1799\u179a\u0005\u0133\u0000\u0000\u179a\u17a3\u0005"+
55818 "\u0134\u0000\u0000\u179b\u17a3\u00053\u0000\u0000\u179c\u17a3\u0005\u00e8"+
55819 "\u0000\u0000\u179d\u179e\u0005I\u0000\u0000\u179e\u17a3\u0005\u0135\u0000"+
55820 "\u0000\u179f\u17a0\u00053\u0000\u0000\u17a0\u17a1\u0005q\u0000\u0000\u17a1"+
55821 "\u17a3\u0005\u015a\u0000\u0000\u17a2\u1798\u0001\u0000\u0000\u0000\u17a2"+
55822 "\u1799\u0001\u0000\u0000\u0000\u17a2\u179b\u0001\u0000\u0000\u0000\u17a2"+
55823 "\u179c\u0001\u0000\u0000\u0000\u17a2\u179d\u0001\u0000\u0000\u0000\u17a2"+
55824 "\u179f\u0001\u0000\u0000\u0000\u17a3\u0339\u0001\u0000\u0000\u0000\u17a4"+
55825 "\u17b0\u0005\u0131\u0000\u0000\u17a5\u17a6\u0005\u0133\u0000\u0000\u17a6"+
55826 "\u17b0\u0005\u0134\u0000\u0000\u17a7\u17b0\u00053\u0000\u0000\u17a8\u17b0"+
55827 "\u0005\u00e8\u0000\u0000\u17a9\u17aa\u0005I\u0000\u0000\u17aa\u17b0\u0005"+
55828 "\u0135\u0000\u0000\u17ab\u17ac\u00053\u0000\u0000\u17ac\u17ad\u0005q\u0000"+
55829 "\u0000\u17ad\u17ae\u0005\u0165\u0000\u0000\u17ae\u17b0\u0005\u00ae\u0000"+
55830 "\u0000\u17af\u17a4\u0001\u0000\u0000\u0000\u17af\u17a5\u0001\u0000\u0000"+
55831 "\u0000\u17af\u17a7\u0001\u0000\u0000\u0000\u17af\u17a8\u0001\u0000\u0000"+
55832 "\u0000\u17af\u17a9\u0001\u0000\u0000\u0000\u17af\u17ab\u0001\u0000\u0000"+
55833 "\u0000\u17b0\u033b\u0001\u0000\u0000\u0000\u17b1\u17bd\u0005\u0131\u0000"+
55834 "\u0000\u17b2\u17b3\u0005\u0133\u0000\u0000\u17b3\u17bd\u0005\u0134\u0000"+
55835 "\u0000\u17b4\u17bd\u00053\u0000\u0000\u17b5\u17b6\u0005I\u0000\u0000\u17b6"+
55836 "\u17bd\u0005\u0135\u0000\u0000\u17b7\u17b8\u00053\u0000\u0000\u17b8\u17b9"+
55837 "\u0005q\u0000\u0000\u17b9\u17ba\u0005\u0166\u0000\u0000\u17ba\u17bb\u0005"+
55838 "\u0158\u0000\u0000\u17bb\u17bd\u0005\u0167\u0000\u0000\u17bc\u17b1\u0001"+
55839 "\u0000\u0000\u0000\u17bc\u17b2\u0001\u0000\u0000\u0000\u17bc\u17b4\u0001"+
55840 "\u0000\u0000\u0000\u17bc\u17b5\u0001\u0000\u0000\u0000\u17bc\u17b7\u0001"+
55841 "\u0000\u0000\u0000\u17bd\u033d\u0001\u0000\u0000\u0000\u17be\u17c8\u0005"+
55842 "\u0131\u0000\u0000\u17bf\u17c0\u0005\u0133\u0000\u0000\u17c0\u17c8\u0005"+
55843 "\u0134\u0000\u0000\u17c1\u17c8\u00053\u0000\u0000\u17c2\u17c3\u0005I\u0000"+
55844 "\u0000\u17c3\u17c8\u0005\u0135\u0000\u0000\u17c4\u17c5\u00053\u0000\u0000"+
55845 "\u17c5\u17c6\u0005q\u0000\u0000\u17c6\u17c8\u0005\u0168\u0000\u0000\u17c7"+
55846 "\u17be\u0001\u0000\u0000\u0000\u17c7\u17bf\u0001\u0000\u0000\u0000\u17c7"+
55847 "\u17c1\u0001\u0000\u0000\u0000\u17c7\u17c2\u0001\u0000\u0000\u0000\u17c7"+
55848 "\u17c4\u0001\u0000\u0000\u0000\u17c8\u033f\u0001\u0000\u0000\u0000\u17c9"+
55849 "\u17d4\u0005\u0131\u0000\u0000\u17ca\u17cb\u0005\u0133\u0000\u0000\u17cb"+
55850 "\u17d4\u0005\u0134\u0000\u0000\u17cc\u17d4\u0005\u0292\u0000\u0000\u17cd"+
55851 "\u17d4\u00053\u0000\u0000\u17ce\u17cf\u0005I\u0000\u0000\u17cf\u17d4\u0005"+
55852 "\u0135\u0000\u0000\u17d0\u17d1\u00053\u0000\u0000\u17d1\u17d2\u0005q\u0000"+
55853 "\u0000\u17d2\u17d4\u0005\u0158\u0000\u0000\u17d3\u17c9\u0001\u0000\u0000"+
55854 "\u0000\u17d3\u17ca\u0001\u0000\u0000\u0000\u17d3\u17cc\u0001\u0000\u0000"+
55855 "\u0000\u17d3\u17cd\u0001\u0000\u0000\u0000\u17d3\u17ce\u0001\u0000\u0000"+
55856 "\u0000\u17d3\u17d0\u0001\u0000\u0000\u0000\u17d4\u0341\u0001\u0000\u0000"+
55857 "\u0000\u17d5\u17e6\u00053\u0000\u0000\u17d6\u17e6\u0005\u012e\u0000\u0000"+
55858 "\u17d7\u17d9\u0005\u0131\u0000\u0000\u17d8\u17da\u0005\u013a\u0000\u0000"+
55859 "\u17d9\u17d8\u0001\u0000\u0000\u0000\u17d9\u17da\u0001\u0000\u0000\u0000"+
55860 "\u17da\u17e6\u0001\u0000\u0000\u0000\u17db\u17dc\u0005\u0133\u0000\u0000"+
55861 "\u17dc\u17e6\u0005\u0134\u0000\u0000\u17dd\u17df\u0005I\u0000\u0000\u17de"+
55862 "\u17e0\u0005q\u0000\u0000\u17df\u17de\u0001\u0000\u0000\u0000\u17df\u17e0"+
55863 "\u0001\u0000\u0000\u0000\u17e0\u17e1\u0001\u0000\u0000\u0000\u17e1\u17e6"+
55864 "\u0005\u0135\u0000\u0000\u17e2\u17e3\u00053\u0000\u0000\u17e3\u17e4\u0005"+
55865 "q\u0000\u0000\u17e4\u17e6\u0005\u0144\u0000\u0000\u17e5\u17d5\u0001\u0000"+
55866 "\u0000\u0000\u17e5\u17d6\u0001\u0000\u0000\u0000\u17e5\u17d7\u0001\u0000"+
55867 "\u0000\u0000\u17e5\u17db\u0001\u0000\u0000\u0000\u17e5\u17dd\u0001\u0000"+
55868 "\u0000\u0000\u17e5\u17e2\u0001\u0000\u0000\u0000\u17e6\u0343\u0001\u0000"+
55869 "\u0000\u0000\u17e7\u17f2\u0005\u0131\u0000\u0000\u17e8\u17e9\u0005\u0133"+
55870 "\u0000\u0000\u17e9\u17f2\u0005\u0134\u0000\u0000\u17ea\u17f2\u00053\u0000"+
55871 "\u0000\u17eb\u17f2\u0005\u00e8\u0000\u0000\u17ec\u17ed\u0005I\u0000\u0000"+
55872 "\u17ed\u17f2\u0005\u0135\u0000\u0000\u17ee\u17ef\u00053\u0000\u0000\u17ef"+
55873 "\u17f0\u0005q\u0000\u0000\u17f0\u17f2\u0005\u0159\u0000\u0000\u17f1\u17e7"+
55874 "\u0001\u0000\u0000\u0000\u17f1\u17e8\u0001\u0000\u0000\u0000\u17f1\u17ea"+
55875 "\u0001\u0000\u0000\u0000\u17f1\u17eb\u0001\u0000\u0000\u0000\u17f1\u17ec"+
55876 "\u0001\u0000\u0000\u0000\u17f1\u17ee\u0001\u0000\u0000\u0000\u17f2\u0345"+
55877 "\u0001\u0000\u0000\u0000\u17f3\u17ff\u00053\u0000\u0000\u17f4\u17ff\u0005"+
55878 "\u0131\u0000\u0000\u17f5\u17ff\u0005\u00e8\u0000\u0000\u17f6\u17f7\u0005"+
55879 "\u0133\u0000\u0000\u17f7\u17ff\u0005\u0134\u0000\u0000\u17f8\u17f9\u0005"+
55880 "I\u0000\u0000\u17f9\u17ff\u0005\u0135\u0000\u0000\u17fa\u17fb\u00053\u0000"+
55881 "\u0000\u17fb\u17fc\u0005q\u0000\u0000\u17fc\u17fd\u0005\u0138\u0000\u0000"+
55882 "\u17fd\u17ff\u0005B\u0000\u0000\u17fe\u17f3\u0001\u0000\u0000\u0000\u17fe"+
55883 "\u17f4\u0001\u0000\u0000\u0000\u17fe\u17f5\u0001\u0000\u0000\u0000\u17fe"+
55884 "\u17f6\u0001\u0000\u0000\u0000\u17fe\u17f8\u0001\u0000\u0000\u0000\u17fe"+
55885 "\u17fa\u0001\u0000\u0000\u0000\u17ff\u0347\u0001\u0000\u0000\u0000\u1800"+
55886 "\u180c\u0005\u0131\u0000\u0000\u1801\u1802\u0005\u0133\u0000\u0000\u1802"+
55887 "\u180c\u0005\u0134\u0000\u0000\u1803\u180c\u00053\u0000\u0000\u1804\u180c"+
55888 "\u0005\u00e8\u0000\u0000\u1805\u1806\u0005I\u0000\u0000\u1806\u180c\u0005"+
55889 "\u0135\u0000\u0000\u1807\u1808\u00053\u0000\u0000\u1808\u1809\u0005q\u0000"+
55890 "\u0000\u1809\u180a\u0005\u0139\u0000\u0000\u180a\u180c\u0005B\u0000\u0000"+
55891 "\u180b\u1800\u0001\u0000\u0000\u0000\u180b\u1801\u0001\u0000\u0000\u0000"+
55892 "\u180b\u1803\u0001\u0000\u0000\u0000\u180b\u1804\u0001\u0000\u0000\u0000"+
55893 "\u180b\u1805\u0001\u0000\u0000\u0000\u180b\u1807\u0001\u0000\u0000\u0000"+
55894 "\u180c\u0349\u0001\u0000\u0000\u0000\u180d\u1818\u0005\u0131\u0000\u0000"+
55895 "\u180e\u180f\u0005\u0133\u0000\u0000\u180f\u1818\u0005\u0134\u0000\u0000"+
55896 "\u1810\u1818\u00053\u0000\u0000\u1811\u1818\u0005\u00e8\u0000\u0000\u1812"+
55897 "\u1813\u0005I\u0000\u0000\u1813\u1818\u0005\u0135\u0000\u0000\u1814\u1815"+
55898 "\u00053\u0000\u0000\u1815\u1816\u0005q\u0000\u0000\u1816\u1818\u0005\u0137"+
55899 "\u0000\u0000\u1817\u180d\u0001\u0000\u0000\u0000\u1817\u180e\u0001\u0000"+
55900 "\u0000\u0000\u1817\u1810\u0001\u0000\u0000\u0000\u1817\u1811\u0001\u0000"+
55901 "\u0000\u0000\u1817\u1812\u0001\u0000\u0000\u0000\u1817\u1814\u0001\u0000"+
55902 "\u0000\u0000\u1818\u034b\u0001\u0000\u0000\u0000\u1819\u182b\u00053\u0000"+
55903 "\u0000\u181a\u182b\u0005\u012e\u0000\u0000\u181b\u181d\u0005\u0131\u0000"+
55904 "\u0000\u181c\u181e\u0005\u013a\u0000\u0000\u181d\u181c\u0001\u0000\u0000"+
55905 "\u0000\u181d\u181e\u0001\u0000\u0000\u0000\u181e\u182b\u0001\u0000\u0000"+
55906 "\u0000\u181f\u1820\u0005\u0133\u0000\u0000\u1820\u182b\u0005\u0134\u0000"+
55907 "\u0000\u1821\u1823\u0005I\u0000\u0000\u1822\u1824\u0005q\u0000\u0000\u1823"+
55908 "\u1822\u0001\u0000\u0000\u0000\u1823\u1824\u0001\u0000\u0000\u0000\u1824"+
55909 "\u1825\u0001\u0000\u0000\u0000\u1825\u182b\u0005\u0135\u0000\u0000\u1826"+
55910 "\u1827\u00053\u0000\u0000\u1827\u1828\u0005q\u0000\u0000\u1828\u1829\u0005"+
55911 "\u0142\u0000\u0000\u1829\u182b\u0005t\u0000\u0000\u182a\u1819\u0001\u0000"+
55912 "\u0000\u0000\u182a\u181a\u0001\u0000\u0000\u0000\u182a\u181b\u0001\u0000"+
55913 "\u0000\u0000\u182a\u181f\u0001\u0000\u0000\u0000\u182a\u1821\u0001\u0000"+
55914 "\u0000\u0000\u182a\u1826\u0001\u0000\u0000\u0000\u182b\u034d\u0001\u0000"+
55915 "\u0000\u0000\u182c\u182f\u0003\u0350\u01a8\u0000\u182d\u182f\u0003\u0352"+
55916 "\u01a9\u0000\u182e\u182c\u0001\u0000\u0000\u0000\u182e\u182d\u0001\u0000"+
55917 "\u0000\u0000\u182f\u034f\u0001\u0000\u0000\u0000\u1830\u183c\u0005\u0131"+
55918 "\u0000\u0000\u1831\u1832\u0005\u0133\u0000\u0000\u1832\u183c\u0005\u0134"+
55919 "\u0000\u0000\u1833\u183c\u00053\u0000\u0000\u1834\u183c\u0005\u00e8\u0000"+
55920 "\u0000\u1835\u1836\u0005I\u0000\u0000\u1836\u183c\u0005\u0135\u0000\u0000"+
55921 "\u1837\u1838\u00053\u0000\u0000\u1838\u1839\u0005q\u0000\u0000\u1839\u183a"+
55922 "\u0005\u0162\u0000\u0000\u183a\u183c\u0005\u0130\u0000\u0000\u183b\u1830"+
55923 "\u0001\u0000\u0000\u0000\u183b\u1831\u0001\u0000\u0000\u0000\u183b\u1833"+
55924 "\u0001\u0000\u0000\u0000\u183b\u1834\u0001\u0000\u0000\u0000\u183b\u1835"+
55925 "\u0001\u0000\u0000\u0000\u183b\u1837\u0001\u0000\u0000\u0000\u183c\u0351"+
55926 "\u0001\u0000\u0000\u0000\u183d\u1849\u00053\u0000\u0000\u183e\u1849\u0005"+
55927 "\u0131\u0000\u0000\u183f\u1849\u0005\u00e8\u0000\u0000\u1840\u1841\u0005"+
55928 "\u0133\u0000\u0000\u1841\u1849\u0005\u0134\u0000\u0000\u1842\u1843\u0005"+
55929 "I\u0000\u0000\u1843\u1849\u0005\u0135\u0000\u0000\u1844\u1845\u00053\u0000"+
55930 "\u0000\u1845\u1846\u0005q\u0000\u0000\u1846\u1847\u0005\u0162\u0000\u0000"+
55931 "\u1847\u1849\u0005\u0130\u0000\u0000\u1848\u183d\u0001\u0000\u0000\u0000"+
55932 "\u1848\u183e\u0001\u0000\u0000\u0000\u1848\u183f\u0001\u0000\u0000\u0000"+
55933 "\u1848\u1840\u0001\u0000\u0000\u0000\u1848\u1842\u0001\u0000\u0000\u0000"+
55934 "\u1848\u1844\u0001\u0000\u0000\u0000\u1849\u0353\u0001\u0000\u0000\u0000"+
55935 "\u184a\u1852\u0005\u0131\u0000\u0000\u184b\u1852\u0005\u012b\u0000\u0000"+
55936 "\u184c\u1852\u0005\u00e8\u0000\u0000\u184d\u184e\u0005\u0133\u0000\u0000"+
55937 "\u184e\u1852\u0005\u0134\u0000\u0000\u184f\u1850\u0005I\u0000\u0000\u1850"+
55938 "\u1852\u0005\u0135\u0000\u0000\u1851\u184a\u0001\u0000\u0000\u0000\u1851"+
55939 "\u184b\u0001\u0000\u0000\u0000\u1851\u184c\u0001\u0000\u0000\u0000\u1851"+
55940 "\u184d\u0001\u0000\u0000\u0000\u1851\u184f\u0001\u0000\u0000\u0000\u1852"+
55941 "\u0355\u0001\u0000\u0000\u0000\u1853\u185c\u00053\u0000\u0000\u1854\u185c"+
55942 "\u0005\u0131\u0000\u0000\u1855\u185c\u0005\u012b\u0000\u0000\u1856\u185c"+
55943 "\u0005\u00e8\u0000\u0000\u1857\u1858\u0005\u0133\u0000\u0000\u1858\u185c"+
55944 "\u0005\u0134\u0000\u0000\u1859\u185a\u0005I\u0000\u0000\u185a\u185c\u0005"+
55945 "\u0135\u0000\u0000\u185b\u1853\u0001\u0000\u0000\u0000\u185b\u1854\u0001"+
55946 "\u0000\u0000\u0000\u185b\u1855\u0001\u0000\u0000\u0000\u185b\u1856\u0001"+
55947 "\u0000\u0000\u0000\u185b\u1857\u0001\u0000\u0000\u0000\u185b\u1859\u0001"+
55948 "\u0000\u0000\u0000\u185c\u0357\u0001\u0000\u0000\u0000\u185d\u185e\u0007"+
55949 "X\u0000\u0000\u185e\u0359\u0001\u0000\u0000\u0000\u185f\u1860\u0005\u02ac"+
55950 "\u0000\u0000\u1860\u1861\u0005\u000e\u0000\u0000\u1861\u1862\u0005\u000e"+
55951 "\u0000\u0000\u1862\u035b\u0001\u0000\u0000\u0000\u1863\u188c\u0005\u0137"+
55952 "\u0000\u0000\u1864\u1865\u0005\u0139\u0000\u0000\u1865\u188c\u0005B\u0000"+
55953 "\u0000\u1866\u1867\u0005\u0142\u0000\u0000\u1867\u188c\u0005t\u0000\u0000"+
55954 "\u1868\u188c\u0005\u0159\u0000\u0000\u1869\u188c\u0005\u00e9\u0000\u0000"+
55955 "\u186a\u188c\u0005\u00ea\u0000\u0000\u186b\u186c\u0005\u0136\u0000\u0000"+
55956 "\u186c\u188c\u0005\u00ea\u0000\u0000\u186d\u186e\u0005\u00ca\u0000\u0000"+
55957 "\u186e\u186f\u0005\u0155\u0000\u0000\u186f\u188c\u0005\u0143\u0000\u0000"+
55958 "\u1870\u188c\u0005\u0144\u0000\u0000\u1871\u1872\u0005\u0162\u0000\u0000"+
55959 "\u1872\u188c\u0007Y\u0000\u0000\u1873\u188c\u0005\u0114\u0000\u0000\u1874"+
55960 "\u188c\u00056\u0000\u0000\u1875\u1876\u0005\u028f\u0000\u0000\u1876\u1877"+
55961 "\u0005\u0290\u0000\u0000\u1877\u188c\u0005\u0291\u0000\u0000\u1878\u188c"+
55962 "\u0005\u010e\u0000\u0000\u1879\u187a\u0005\u013a\u0000\u0000\u187a\u188c"+
55963 "\u0005\u00ea\u0000\u0000\u187b\u188c\u0005\u015a\u0000\u0000\u187c\u187d"+
55964 "\u0005\u0165\u0000\u0000\u187d\u188c\u0005\u00ae\u0000\u0000\u187e\u187f"+
55965 "\u0005\u0166\u0000\u0000\u187f\u1880\u0005\u0158\u0000\u0000\u1880\u188c"+
55966 "\u0005\u0167\u0000\u0000\u1881\u188c\u0005\u0168\u0000\u0000\u1882\u188c"+
55967 "\u0005\u0158\u0000\u0000\u1883\u1884\u0005\u0138\u0000\u0000\u1884\u188c"+
55968 "\u0005B\u0000\u0000\u1885\u188c\u0005.\u0000\u0000\u1886\u188c\u0005\u012b"+
55969 "\u0000\u0000\u1887\u188c\u0005\u00ae\u0000\u0000\u1888\u1889\u0005\u014a"+
55970 "\u0000\u0000\u1889\u188a\u00056\u0000\u0000\u188a\u188c\u0005\u016f\u0000"+
55971 "\u0000\u188b\u1863\u0001\u0000\u0000\u0000\u188b\u1864\u0001\u0000\u0000"+
55972 "\u0000\u188b\u1866\u0001\u0000\u0000\u0000\u188b\u1868\u0001\u0000\u0000"+
55973 "\u0000\u188b\u1869\u0001\u0000\u0000\u0000\u188b\u186a\u0001\u0000\u0000"+
55974 "\u0000\u188b\u186b\u0001\u0000\u0000\u0000\u188b\u186d\u0001\u0000\u0000"+
55975 "\u0000\u188b\u1870\u0001\u0000\u0000\u0000\u188b\u1871\u0001\u0000\u0000"+
55976 "\u0000\u188b\u1873\u0001\u0000\u0000\u0000\u188b\u1874\u0001\u0000\u0000"+
55977 "\u0000\u188b\u1875\u0001\u0000\u0000\u0000\u188b\u1878\u0001\u0000\u0000"+
55978 "\u0000\u188b\u1879\u0001\u0000\u0000\u0000\u188b\u187b\u0001\u0000\u0000"+
55979 "\u0000\u188b\u187c\u0001\u0000\u0000\u0000\u188b\u187e\u0001\u0000\u0000"+
55980 "\u0000\u188b\u1881\u0001\u0000\u0000\u0000\u188b\u1882\u0001\u0000\u0000"+
55981 "\u0000\u188b\u1883\u0001\u0000\u0000\u0000\u188b\u1885\u0001\u0000\u0000"+
55982 "\u0000\u188b\u1886\u0001\u0000\u0000\u0000\u188b\u1887\u0001\u0000\u0000"+
55983 "\u0000\u188b\u1888\u0001\u0000\u0000\u0000\u188c\u035d\u0001\u0000\u0000"+
55984 "\u0000\u188d\u188e\u0007Z\u0000\u0000\u188e\u035f\u0001\u0000\u0000\u0000"+
55985 "\u188f\u1890\u0003\u00ccf\u0000\u1890\u0361\u0001\u0000\u0000\u0000\u1891"+
55986 "\u1897\u0005\u0285\u0000\u0000\u1892\u1895\u0003\u001c\u000e\u0000\u1893"+
55987 "\u1894\u0005L\u0000\u0000\u1894\u1896\u0005\u0286\u0000\u0000\u1895\u1893"+
55988 "\u0001\u0000\u0000\u0000\u1895\u1896\u0001\u0000\u0000\u0000\u1896\u1898"+
55989 "\u0001\u0000\u0000\u0000\u1897\u1892\u0001\u0000\u0000\u0000\u1897\u1898"+
55990 "\u0001\u0000\u0000\u0000\u1898\u0363\u0001\u0000\u0000\u0000\u1899\u189a"+
55991 "\u00052\u0000\u0000\u189a\u18a3\u0005\u00e9\u0000\u0000\u189b\u18a4\u0003"+
55992 "\u0366\u01b3\u0000\u189c\u18a4\u0003\u0368\u01b4\u0000\u189d\u18a4\u0003"+
55993 "\u036a\u01b5\u0000\u189e\u18a4\u0003\u036c\u01b6\u0000\u189f\u18a4\u0003"+
55994 "\u0372\u01b9\u0000\u18a0\u18a4\u0003\u0374\u01ba\u0000\u18a1\u18a4\u0003"+
55995 "\u0376\u01bb\u0000\u18a2\u18a4\u0003\u037c\u01be\u0000\u18a3\u189b\u0001"+
55996 "\u0000\u0000\u0000\u18a3\u189c\u0001\u0000\u0000\u0000\u18a3\u189d\u0001"+
55997 "\u0000\u0000\u0000\u18a3\u189e\u0001\u0000\u0000\u0000\u18a3\u189f\u0001"+
55998 "\u0000\u0000\u0000\u18a3\u18a0\u0001\u0000\u0000\u0000\u18a3\u18a1\u0001"+
55999 "\u0000\u0000\u0000\u18a3\u18a2\u0001\u0000\u0000\u0000\u18a3\u18a4\u0001"+
56000 "\u0000\u0000\u0000\u18a4\u0365\u0001\u0000\u0000\u0000\u18a5\u18a9\u0003"+
56001 "\u037c\u01be\u0000\u18a6\u18a7\u0007[\u0000\u0000\u18a7\u18a8\u0005\u010e"+
56002 "\u0000\u0000\u18a8\u18aa\u0003*\u0015\u0000\u18a9\u18a6\u0001\u0000\u0000"+
56003 "\u0000\u18a9\u18aa\u0001\u0000\u0000\u0000\u18aa\u18b4\u0001\u0000\u0000"+
56004 "\u0000\u18ab\u18ac\u0005L\u0000\u0000\u18ac\u18b1\u0003\u0370\u01b8\u0000"+
56005 "\u18ad\u18ae\u0005%\u0000\u0000\u18ae\u18b0\u0003\u0370\u01b8\u0000\u18af"+
56006 "\u18ad\u0001\u0000\u0000\u0000\u18b0\u18b3\u0001\u0000\u0000\u0000\u18b1"+
56007 "\u18af\u0001\u0000\u0000\u0000\u18b1\u18b2\u0001\u0000\u0000\u0000\u18b2"+
56008 "\u18b5\u0001\u0000\u0000\u0000\u18b3\u18b1\u0001\u0000\u0000\u0000\u18b4"+
56009 "\u18ab\u0001\u0000\u0000\u0000\u18b4\u18b5\u0001\u0000\u0000\u0000\u18b5"+
56010 "\u0367\u0001\u0000\u0000\u0000\u18b6\u18c0\u0003\u0378\u01bc\u0000\u18b7"+
56011 "\u18b8\u0005L\u0000\u0000\u18b8\u18bd\u0003\u036e\u01b7\u0000\u18b9\u18ba"+
56012 "\u0005%\u0000\u0000\u18ba\u18bc\u0003\u036e\u01b7\u0000\u18bb\u18b9\u0001"+
56013 "\u0000\u0000\u0000\u18bc\u18bf\u0001\u0000\u0000\u0000\u18bd\u18bb\u0001"+
56014 "\u0000\u0000\u0000\u18bd\u18be\u0001\u0000\u0000\u0000\u18be\u18c1\u0001"+
56015 "\u0000\u0000\u0000\u18bf\u18bd\u0001\u0000\u0000\u0000\u18c0\u18b7\u0001"+
56016 "\u0000\u0000\u0000\u18c0\u18c1\u0001\u0000\u0000\u0000\u18c1\u18d8\u0001"+
56017 "\u0000\u0000\u0000\u18c2\u18c3\u0003\u037c\u01be\u0000\u18c3\u18c4\u0005"+
56018 "L\u0000\u0000\u18c4\u18c5\u0005\u00d3\u0000\u0000\u18c5\u18c6\u0005\u0018"+
56019 "\u0000\u0000\u18c6\u18d0\u0003\u001c\u000e\u0000\u18c7\u18c8\u0005%\u0000"+
56020 "\u0000\u18c8\u18cd\u0003\u036e\u01b7\u0000\u18c9\u18ca\u0005%\u0000\u0000"+
56021 "\u18ca\u18cc\u0003\u036e\u01b7\u0000\u18cb\u18c9\u0001\u0000\u0000\u0000"+
56022 "\u18cc\u18cf\u0001\u0000\u0000\u0000\u18cd\u18cb\u0001\u0000\u0000\u0000"+
56023 "\u18cd\u18ce\u0001\u0000\u0000\u0000\u18ce\u18d1\u0001\u0000\u0000\u0000"+
56024 "\u18cf\u18cd\u0001\u0000\u0000\u0000\u18d0\u18c7\u0001\u0000\u0000\u0000"+
56025 "\u18d0\u18d1\u0001\u0000\u0000\u0000\u18d1\u18d8\u0001\u0000\u0000\u0000"+
56026 "\u18d2\u18d3\u0003\u037a\u01bd\u0000\u18d3\u18d4\u0005T\u0000\u0000\u18d4"+
56027 "\u18d5\u0005\u014e\u0000\u0000\u18d5\u18d6\u0005\u028a\u0000\u0000\u18d6"+
56028 "\u18d8\u0001\u0000\u0000\u0000\u18d7\u18b6\u0001\u0000\u0000\u0000\u18d7"+
56029 "\u18c2\u0001\u0000\u0000\u0000\u18d7\u18d2\u0001\u0000\u0000\u0000\u18d8"+
56030 "\u0369\u0001\u0000\u0000\u0000\u18d9\u18dd\u0003\u0378\u01bc\u0000\u18da"+
56031 "\u18db\u0007[\u0000\u0000\u18db\u18dc\u0005\u010e\u0000\u0000\u18dc\u18de"+
56032 "\u0003\u0378\u01bc\u0000\u18dd\u18da\u0001\u0000\u0000\u0000\u18dd\u18de"+
56033 "\u0001\u0000\u0000\u0000\u18de\u18e5\u0001\u0000\u0000\u0000\u18df\u18e0"+
56034 "\u0003\u037c\u01be\u0000\u18e0\u18e1\u0007[\u0000\u0000\u18e1\u18e2\u0005"+
56035 "\u010e\u0000\u0000\u18e2\u18e3\u0003\u0378\u01bc\u0000\u18e3\u18e5\u0001"+
56036 "\u0000\u0000\u0000\u18e4\u18d9\u0001\u0000\u0000\u0000\u18e4\u18df\u0001"+
56037 "\u0000\u0000\u0000\u18e5\u18ef\u0001\u0000\u0000\u0000\u18e6\u18e7\u0005"+
56038 "L\u0000\u0000\u18e7\u18ec\u0003\u0370\u01b8\u0000\u18e8\u18e9\u0005%\u0000"+
56039 "\u0000\u18e9\u18eb\u0003\u0370\u01b8\u0000\u18ea\u18e8\u0001\u0000\u0000"+
56040 "\u0000\u18eb\u18ee\u0001\u0000\u0000\u0000\u18ec\u18ea\u0001\u0000\u0000"+
56041 "\u0000\u18ec\u18ed\u0001\u0000\u0000\u0000\u18ed\u18f0\u0001\u0000\u0000"+
56042 "\u0000\u18ee\u18ec\u0001\u0000\u0000\u0000\u18ef\u18e6\u0001\u0000\u0000"+
56043 "\u0000\u18ef\u18f0\u0001\u0000\u0000\u0000\u18f0\u036b\u0001\u0000\u0000"+
56044 "\u0000\u18f1\u1906\u0003\u037c\u01be\u0000\u18f2\u18f3\u0005\u00d4\u0000"+
56045 "\u0000\u18f3\u18fd\u0005\u010e\u0000\u0000\u18f4\u18f5\u0005L\u0000\u0000"+
56046 "\u18f5\u18fa\u0003\u0370\u01b8\u0000\u18f6\u18f7\u0005%\u0000\u0000\u18f7"+
56047 "\u18f9\u0003\u0370\u01b8\u0000\u18f8\u18f6\u0001\u0000\u0000\u0000\u18f9"+
56048 "\u18fc\u0001\u0000\u0000\u0000\u18fa\u18f8\u0001\u0000\u0000\u0000\u18fa"+
56049 "\u18fb\u0001\u0000\u0000\u0000\u18fb\u18fe\u0001\u0000\u0000\u0000\u18fc"+
56050 "\u18fa\u0001\u0000\u0000\u0000\u18fd\u18f4\u0001\u0000\u0000\u0000\u18fd"+
56051 "\u18fe\u0001\u0000\u0000\u0000\u18fe\u1907\u0001\u0000\u0000\u0000\u18ff"+
56052 "\u1900\u0007[\u0000\u0000\u1900\u1901\u0005\u0159\u0000\u0000\u1901\u1907"+
56053 "\u0003*\u0015\u0000\u1902\u1903\u0007[\u0000\u0000\u1903\u1904\u0005\u0139"+
56054 "\u0000\u0000\u1904\u1905\u0005B\u0000\u0000\u1905\u1907\u0003*\u0015\u0000"+
56055 "\u1906\u18f2\u0001\u0000\u0000\u0000\u1906\u18ff\u0001\u0000\u0000\u0000"+
56056 "\u1906\u1902\u0001\u0000\u0000\u0000\u1907\u036d\u0001\u0000\u0000\u0000"+
56057 "\u1908\u1909\u0005\u0287\u0000\u0000\u1909\u190a\u0005\u0018\u0000\u0000"+
56058 "\u190a\u191a\u00034\u001a\u0000\u190b\u190c\u0005\u0277\u0000\u0000\u190c"+
56059 "\u190f\u0005\u0018\u0000\u0000\u190d\u1910\u0005\u0113\u0000\u0000\u190e"+
56060 "\u1910\u0003*\u0015\u0000\u190f\u190d\u0001\u0000\u0000\u0000\u190f\u190e"+
56061 "\u0001\u0000\u0000\u0000\u1910\u191a\u0001\u0000\u0000\u0000\u1911\u1912"+
56062 "\u0005\u028b\u0000\u0000\u1912\u1913\u0005\u0018\u0000\u0000\u1913\u191a"+
56063 "\u0003\u0396\u01cb\u0000\u1914\u1915\u0005\u0288\u0000\u0000\u1915\u1917"+
56064 "\u0005\u0018\u0000\u0000\u1916\u1918\u0007\u0000\u0000\u0000\u1917\u1916"+
56065 "\u0001\u0000\u0000\u0000\u1917\u1918\u0001\u0000\u0000\u0000\u1918\u191a"+
56066 "\u0001\u0000\u0000\u0000\u1919\u1908\u0001\u0000\u0000\u0000\u1919\u190b"+
56067 "\u0001\u0000\u0000\u0000\u1919\u1911\u0001\u0000\u0000\u0000\u1919\u1914"+
56068 "\u0001\u0000\u0000\u0000\u191a\u036f\u0001\u0000\u0000\u0000\u191b\u191c"+
56069 "\u0005\u0287\u0000\u0000\u191c\u191d\u0005\u0018\u0000\u0000\u191d\u192a"+
56070 "\u00034\u001a\u0000\u191e\u191f\u0005\u0277\u0000\u0000\u191f\u1922\u0005"+
56071 "\u0018\u0000\u0000\u1920\u1923\u0005\u0113\u0000\u0000\u1921\u1923\u0003"+
56072 "*\u0015\u0000\u1922\u1920\u0001\u0000\u0000\u0000\u1922\u1921\u0001\u0000"+
56073 "\u0000\u0000\u1923\u192a\u0001\u0000\u0000\u0000\u1924\u1925\u0005\u0288"+
56074 "\u0000\u0000\u1925\u1927\u0005\u0018\u0000\u0000\u1926\u1928\u0007\u0000"+
56075 "\u0000\u0000\u1927\u1926\u0001\u0000\u0000\u0000\u1927\u1928\u0001\u0000"+
56076 "\u0000\u0000\u1928\u192a\u0001\u0000\u0000\u0000\u1929\u191b\u0001\u0000"+
56077 "\u0000\u0000\u1929\u191e\u0001\u0000\u0000\u0000\u1929\u1924\u0001\u0000"+
56078 "\u0000\u0000\u192a\u0371\u0001\u0000\u0000\u0000\u192b\u192f\u0003\u037c"+
56079 "\u01be\u0000\u192c\u192d\u0007[\u0000\u0000\u192d\u192e\u0005\u010e\u0000"+
56080 "\u0000\u192e\u1930\u0003*\u0015\u0000\u192f\u192c\u0001\u0000\u0000\u0000"+
56081 "\u192f\u1930\u0001\u0000\u0000\u0000\u1930\u1940\u0001\u0000\u0000\u0000"+
56082 "\u1931\u1932\u0005T\u0000\u0000\u1932\u1933\u0005\u014e\u0000\u0000\u1933"+
56083 "\u193d\u0005\u028a\u0000\u0000\u1934\u1935\u0005L\u0000\u0000\u1935\u193a"+
56084 "\u0003\u0370\u01b8\u0000\u1936\u1937\u0005%\u0000\u0000\u1937\u1939\u0003"+
56085 "\u0370\u01b8\u0000\u1938\u1936\u0001\u0000\u0000\u0000\u1939\u193c\u0001"+
56086 "\u0000\u0000\u0000\u193a\u1938\u0001\u0000\u0000\u0000\u193a\u193b\u0001"+
56087 "\u0000\u0000\u0000\u193b\u193e\u0001\u0000\u0000\u0000\u193c\u193a\u0001"+
56088 "\u0000\u0000\u0000\u193d\u1934\u0001\u0000\u0000\u0000\u193d\u193e\u0001"+
56089 "\u0000\u0000\u0000\u193e\u1940\u0001\u0000\u0000\u0000\u193f\u192b\u0001"+
56090 "\u0000\u0000\u0000\u193f\u1931\u0001\u0000\u0000\u0000\u1940\u0373\u0001"+
56091 "\u0000\u0000\u0000\u1941\u1947\u0003\u037c\u01be\u0000\u1942\u1943\u0007"+
56092 "[\u0000\u0000\u1943\u1944\u0005\u010e\u0000\u0000\u1944\u1948\u0003*\u0015"+
56093 "\u0000\u1945\u1946\u0005\u00d4\u0000\u0000\u1946\u1948\u0005\u010e\u0000"+
56094 "\u0000\u1947\u1942\u0001\u0000\u0000\u0000\u1947\u1945\u0001\u0000\u0000"+
56095 "\u0000\u1947\u1948\u0001\u0000\u0000\u0000\u1948\u194d\u0001\u0000\u0000"+
56096 "\u0000\u1949\u194a\u0005L\u0000\u0000\u194a\u194b\u0005\u0287\u0000\u0000"+
56097 "\u194b\u194c\u0005\u0018\u0000\u0000\u194c\u194e\u00034\u001a\u0000\u194d"+
56098 "\u1949\u0001\u0000\u0000\u0000\u194d\u194e\u0001\u0000\u0000\u0000\u194e"+
56099 "\u0375\u0001\u0000\u0000\u0000\u194f\u1950\u0003\u037a\u01bd\u0000\u1950"+
56100 "\u1951\u0005T\u0000\u0000\u1951\u1952\u0005\u014e\u0000\u0000\u1952\u1957"+
56101 "\u0005\u028a\u0000\u0000\u1953\u1954\u0005L\u0000\u0000\u1954\u1955\u0005"+
56102 "\u0287\u0000\u0000\u1955\u1956\u0005\u0018\u0000\u0000\u1956\u1958\u0003"+
56103 "4\u001a\u0000\u1957\u1953\u0001\u0000\u0000\u0000\u1957\u1958\u0001\u0000"+
56104 "\u0000\u0000\u1958\u0377\u0001\u0000\u0000\u0000\u1959\u195a\u0003\u037c"+
56105 "\u01be\u0000\u195a\u0379\u0001\u0000\u0000\u0000\u195b\u195c\u0003\u037c"+
56106 "\u01be\u0000\u195c\u037b\u0001\u0000\u0000\u0000\u195d\u195e\u0003\u037e"+
56107 "\u01bf\u0000\u195e\u037d\u0001\u0000\u0000\u0000\u195f\u1962\u0003*\u0015"+
56108 "\u0000\u1960\u1961\u0005\u0014\u0000\u0000\u1961\u1963\u0003*\u0015\u0000"+
56109 "\u1962\u1960\u0001\u0000\u0000\u0000\u1962\u1963\u0001\u0000\u0000\u0000"+
56110 "\u1963\u037f\u0001\u0000\u0000\u0000\u1964\u1965\u00054\u0000\u0000\u1965"+
56111 "\u1967\u0005\u00e9\u0000\u0000\u1966\u1968\u0003\u00deo\u0000\u1967\u1966"+
56112 "\u0001\u0000\u0000\u0000\u1967\u1968\u0001\u0000\u0000\u0000\u1968\u1969"+
56113 "\u0001\u0000\u0000\u0000\u1969\u196a\u0003\u037c\u01be\u0000\u196a\u0381"+
56114 "\u0001\u0000\u0000\u0000\u196b\u196c\u00053\u0000\u0000\u196c\u196d\u0005"+
56115 "\u00e9\u0000\u0000\u196d\u197a\u0003\u037c\u01be\u0000\u196e\u196f\u0005"+
56116 "L\u0000\u0000\u196f\u1974\u0003\u0384\u01c2\u0000\u1970\u1971\u0005%\u0000"+
56117 "\u0000\u1971\u1973\u0003\u0384\u01c2\u0000\u1972\u1970\u0001\u0000\u0000"+
56118 "\u0000\u1973\u1976\u0001\u0000\u0000\u0000\u1974\u1972\u0001\u0000\u0000"+
56119 "\u0000\u1974\u1975\u0001\u0000\u0000\u0000\u1975\u197b\u0001\u0000\u0000"+
56120 "\u0000\u1976\u1974\u0001\u0000\u0000\u0000\u1977\u1978\u0005T\u0000\u0000"+
56121 "\u1978\u1979\u0005\u014e\u0000\u0000\u1979\u197b\u0005\u028a\u0000\u0000"+
56122 "\u197a\u196e\u0001\u0000\u0000\u0000\u197a\u1977\u0001\u0000\u0000\u0000"+
56123 "\u197b\u0383\u0001\u0000\u0000\u0000\u197c\u197d\u0005\u00a8\u0000\u0000"+
56124 "\u197d\u197e\u0005\u0018\u0000\u0000\u197e\u199c\u0003\u037c\u01be\u0000"+
56125 "\u197f\u1980\u0005\u0287\u0000\u0000\u1980\u1983\u0005\u0018\u0000\u0000"+
56126 "\u1981\u1984\u00034\u001a\u0000\u1982\u1984\u0005j\u0000\u0000\u1983\u1981"+
56127 "\u0001\u0000\u0000\u0000\u1983\u1982\u0001\u0000\u0000\u0000\u1984\u199c"+
56128 "\u0001\u0000\u0000\u0000\u1985\u1986\u0005\u010e\u0000\u0000\u1986\u1987"+
56129 "\u0005\u0018\u0000\u0000\u1987\u199c\u0003*\u0015\u0000\u1988\u1989\u0005"+
56130 "\u00d3\u0000\u0000\u1989\u198a\u0005\u0018\u0000\u0000\u198a\u198e\u0003"+
56131 "\u001c\u000e\u0000\u198b\u198c\u0005\u0289\u0000\u0000\u198c\u198d\u0005"+
56132 "\u0018\u0000\u0000\u198d\u198f\u0003\u001c\u000e\u0000\u198e\u198b\u0001"+
56133 "\u0000\u0000\u0000\u198e\u198f\u0001\u0000\u0000\u0000\u198f\u199c\u0001"+
56134 "\u0000\u0000\u0000\u1990\u1991\u0005\u0277\u0000\u0000\u1991\u1994\u0005"+
56135 "\u0018\u0000\u0000\u1992\u1995\u0005\u0113\u0000\u0000\u1993\u1995\u0003"+
56136 "*\u0015\u0000\u1994\u1992\u0001\u0000\u0000\u0000\u1994\u1993\u0001\u0000"+
56137 "\u0000\u0000\u1995\u199c\u0001\u0000\u0000\u0000\u1996\u1997\u0005\u0288"+
56138 "\u0000\u0000\u1997\u1999\u0005\u0018\u0000\u0000\u1998\u199a\u0007\u0000"+
56139 "\u0000\u0000\u1999\u1998\u0001\u0000\u0000\u0000\u1999\u199a\u0001\u0000"+
56140 "\u0000\u0000\u199a\u199c\u0001\u0000\u0000\u0000\u199b\u197c\u0001\u0000"+
56141 "\u0000\u0000\u199b\u197f\u0001\u0000\u0000\u0000\u199b\u1985\u0001\u0000"+
56142 "\u0000\u0000\u199b\u1988\u0001\u0000\u0000\u0000\u199b\u1990\u0001\u0000"+
56143 "\u0000\u0000\u199b\u1996\u0001\u0000\u0000\u0000\u199c\u0385\u0001\u0000"+
56144 "\u0000\u0000\u199d\u199e\u00052\u0000\u0000\u199e\u199f\u0005\u00ea\u0000"+
56145 "\u0000\u199f\u19a2\u0003N\'\u0000\u19a0\u19a1\u0005\u0280\u0000\u0000"+
56146 "\u19a1\u19a3\u0003N\'\u0000\u19a2\u19a0\u0001\u0000\u0000\u0000\u19a2"+
56147 "\u19a3\u0001\u0000\u0000\u0000\u19a3\u0387\u0001\u0000\u0000\u0000\u19a4"+
56148 "\u19a5\u00054\u0000\u0000\u19a5\u19a7\u0005\u00ea\u0000\u0000\u19a6\u19a8"+
56149 "\u0003\u00deo\u0000\u19a7\u19a6\u0001\u0000\u0000\u0000\u19a7\u19a8\u0001"+
56150 "\u0000\u0000\u0000\u19a8\u19a9\u0001\u0000\u0000\u0000\u19a9\u19aa\u0003"+
56151 "N\'\u0000\u19aa\u0389\u0001\u0000\u0000\u0000\u19ab\u19ac\u00053\u0000"+
56152 "\u0000\u19ac\u19ad\u0005\u00ea\u0000\u0000\u19ad\u19b8\u0003N\'\u0000"+
56153 "\u19ae\u19af\u00059\u0000\u0000\u19af\u19b0\u0005\u0293\u0000\u0000\u19b0"+
56154 "\u19b9\u0003\u030e\u0187\u0000\u19b1\u19b2\u00054\u0000\u0000\u19b2\u19b3"+
56155 "\u0005\u0293\u0000\u0000\u19b3\u19b9\u0003\u030e\u0187\u0000\u19b4\u19b5"+
56156 "\u0005L\u0000\u0000\u19b5\u19b6\u0005\u00a8\u0000\u0000\u19b6\u19b7\u0005"+
56157 "\u0018\u0000\u0000\u19b7\u19b9\u0003N\'\u0000\u19b8\u19ae\u0001\u0000"+
56158 "\u0000\u0000\u19b8\u19b1\u0001\u0000\u0000\u0000\u19b8\u19b4\u0001\u0000"+
56159 "\u0000\u0000\u19b9\u038b\u0001\u0000\u0000\u0000\u19ba\u19bb\u00052\u0000"+
56160 "\u0000\u19bb\u19bc\u0005\u010e\u0000\u0000\u19bc\u19c2\u0003\u037e\u01bf"+
56161 "\u0000\u19bd\u19c3\u0003\u038e\u01c7\u0000\u19be\u19c3\u0003\u039c\u01ce"+
56162 "\u0000\u19bf\u19c3\u0003\u03a0\u01d0\u0000\u19c0\u19c3\u0003\u03a4\u01d2"+
56163 "\u0000\u19c1\u19c3\u0003\u03a8\u01d4\u0000\u19c2\u19bd\u0001\u0000\u0000"+
56164 "\u0000\u19c2\u19be\u0001\u0000\u0000\u0000\u19c2\u19bf\u0001\u0000\u0000"+
56165 "\u0000\u19c2\u19c0\u0001\u0000\u0000\u0000\u19c2\u19c1\u0001\u0000\u0000"+
56166 "\u0000\u19c3\u038d\u0001\u0000\u0000\u0000\u19c4\u19c5\u0005L\u0000\u0000"+
56167 "\u19c5\u19c9\u0003\u0390\u01c8\u0000\u19c6\u19c7\u0005T\u0000\u0000\u19c7"+
56168 "\u19c9\u0003\u0398\u01cc\u0000\u19c8\u19c4\u0001\u0000\u0000\u0000\u19c8"+
56169 "\u19c6\u0001\u0000\u0000\u0000\u19c9\u038f\u0001\u0000\u0000\u0000\u19ca"+
56170 "\u19cb\u0005\u00d3\u0000\u0000\u19cb\u19d0\u0005\u0018\u0000\u0000\u19cc"+
56171 "\u19d1\u0003\u001c\u000e\u0000\u19cd\u19ce\u0003\u0394\u01ca\u0000\u19ce"+
56172 "\u19cf\u0005\u0294\u0000\u0000\u19cf\u19d1\u0001\u0000\u0000\u0000\u19d0"+
56173 "\u19cc\u0001\u0000\u0000\u0000\u19d0\u19cd\u0001\u0000\u0000\u0000\u19d1"+
56174 "\u19d3\u0001\u0000\u0000\u0000\u19d2\u19d4\u0005\u0295\u0000\u0000\u19d3"+
56175 "\u19d2\u0001\u0000\u0000\u0000\u19d3\u19d4\u0001\u0000\u0000\u0000\u19d4"+
56176 "\u19de\u0001\u0000\u0000\u0000\u19d5\u19d6\u0005%\u0000\u0000\u19d6\u19db"+
56177 "\u0003\u0392\u01c9\u0000\u19d7\u19d8\u0005%\u0000\u0000\u19d8\u19da\u0003"+
56178 "\u0392\u01c9\u0000\u19d9\u19d7\u0001\u0000\u0000\u0000\u19da\u19dd\u0001"+
56179 "\u0000\u0000\u0000\u19db\u19d9\u0001\u0000\u0000\u0000\u19db\u19dc\u0001"+
56180 "\u0000\u0000\u0000\u19dc\u19df\u0001\u0000\u0000\u0000\u19dd\u19db\u0001"+
56181 "\u0000\u0000\u0000\u19de\u19d5\u0001\u0000\u0000\u0000\u19de\u19df\u0001"+
56182 "\u0000\u0000\u0000\u19df\u0391\u0001\u0000\u0000\u0000\u19e0\u19e1\u0005"+
56183 "\u028b\u0000\u0000\u19e1\u19e2\u0005\u0018\u0000\u0000\u19e2\u19f3\u0003"+
56184 "\u0396\u01cb\u0000\u19e3\u19e4\u0005\u0296\u0000\u0000\u19e4\u19e5\u0005"+
56185 "\u0018\u0000\u0000\u19e5\u19f3\u00032\u0019\u0000\u19e6\u19e7\u0005\u0277"+
56186 "\u0000\u0000\u19e7\u19e8\u0005\u0018\u0000\u0000\u19e8\u19f3\u0003*\u0015"+
56187 "\u0000\u19e9\u19ea\u0005\u0297\u0000\u0000\u19ea\u19eb\u0005\u0018\u0000"+
56188 "\u0000\u19eb\u19f3\u0007\u0000\u0000\u0000\u19ec\u19ed\u0005\u0298\u0000"+
56189 "\u0000\u19ed\u19ee\u0005\u0018\u0000\u0000\u19ee\u19f3\u0007\u0000\u0000"+
56190 "\u0000\u19ef\u19f0\u0005\u0143\u0000\u0000\u19f0\u19f1\u0005\u0018\u0000"+
56191 "\u0000\u19f1\u19f3\u0003*\u0015\u0000\u19f2\u19e0\u0001\u0000\u0000\u0000"+
56192 "\u19f2\u19e3\u0001\u0000\u0000\u0000\u19f2\u19e6\u0001\u0000\u0000\u0000"+
56193 "\u19f2\u19e9\u0001\u0000\u0000\u0000\u19f2\u19ec\u0001\u0000\u0000\u0000"+
56194 "\u19f2\u19ef\u0001\u0000\u0000\u0000\u19f3\u0393\u0001\u0000\u0000\u0000"+
56195 "\u19f4\u19f5\u0005\u02b3\u0000\u0000\u19f5\u0395\u0001\u0000\u0000\u0000"+
56196 "\u19f6\u19f7\u0007\\\u0000\u0000\u19f7\u0397\u0001\u0000\u0000\u0000\u19f8"+
56197 "\u1a02\u0005\u0299\u0000\u0000\u19f9\u19fa\u0005L\u0000\u0000\u19fa\u19ff"+
56198 "\u0003\u039a\u01cd\u0000\u19fb\u19fc\u0005%\u0000\u0000\u19fc\u19fe\u0003"+
56199 "\u039a\u01cd\u0000\u19fd\u19fb\u0001\u0000\u0000\u0000\u19fe\u1a01\u0001"+
56200 "\u0000\u0000\u0000\u19ff\u19fd\u0001\u0000\u0000\u0000\u19ff\u1a00\u0001"+
56201 "\u0000\u0000\u0000\u1a00\u1a03\u0001\u0000\u0000\u0000\u1a01\u19ff\u0001"+
56202 "\u0000\u0000\u0000\u1a02\u19f9\u0001\u0000\u0000\u0000\u1a02\u1a03\u0001"+
56203 "\u0000\u0000\u0000\u1a03\u1a0a\u0001\u0000\u0000\u0000\u1a04\u1a05\u0005"+
56204 "\u0159\u0000\u0000\u1a05\u1a0a\u0003*\u0015\u0000\u1a06\u1a07\u0005\u0139"+
56205 "\u0000\u0000\u1a07\u1a08\u0005B\u0000\u0000\u1a08\u1a0a\u0003*\u0015\u0000"+
56206 "\u1a09\u19f8\u0001\u0000\u0000\u0000\u1a09\u1a04\u0001\u0000\u0000\u0000"+
56207 "\u1a09\u1a06\u0001\u0000\u0000\u0000\u1a0a\u0399\u0001\u0000\u0000\u0000"+
56208 "\u1a0b\u1a0c\u0005\u0296\u0000\u0000\u1a0c\u1a0d\u0005\u0018\u0000\u0000"+
56209 "\u1a0d\u1a12\u00032\u0019\u0000\u1a0e\u1a0f\u0005\u0277\u0000\u0000\u1a0f"+
56210 "\u1a10\u0005\u0018\u0000\u0000\u1a10\u1a12\u0003*\u0015\u0000\u1a11\u1a0b"+
56211 "\u0001\u0000\u0000\u0000\u1a11\u1a0e\u0001\u0000\u0000\u0000\u1a12\u039b"+
56212 "\u0001\u0000\u0000\u0000\u1a13\u1a14\u0005T\u0000\u0000\u1a14\u1a15\u0005"+
56213 "\u014e\u0000\u0000\u1a15\u1a20\u0005\u028a\u0000\u0000\u1a16\u1a17\u0005"+
56214 "L\u0000\u0000\u1a17\u1a1c\u0003\u039e\u01cf\u0000\u1a18\u1a19\u0005%\u0000"+
56215 "\u0000\u1a19\u1a1b\u0003\u039e\u01cf\u0000\u1a1a\u1a18\u0001\u0000\u0000"+
56216 "\u0000\u1a1b\u1a1e\u0001\u0000\u0000\u0000\u1a1c\u1a1a\u0001\u0000\u0000"+
56217 "\u0000\u1a1c\u1a1d\u0001\u0000\u0000\u0000\u1a1d\u1a20\u0001\u0000\u0000"+
56218 "\u0000\u1a1e\u1a1c\u0001\u0000\u0000\u0000\u1a1f\u1a13\u0001\u0000\u0000"+
56219 "\u0000\u1a1f\u1a16\u0001\u0000\u0000\u0000\u1a20\u039d\u0001\u0000\u0000"+
56220 "\u0000\u1a21\u1a22\u0005\u00d3\u0000\u0000\u1a22\u1a23\u0005\u0018\u0000"+
56221 "\u0000\u1a23\u1a28\u0003\u001c\u000e\u0000\u1a24\u1a25\u0005%\u0000\u0000"+
56222 "\u1a25\u1a26\u0005\u028b\u0000\u0000\u1a26\u1a27\u0005\u0018\u0000\u0000"+
56223 "\u1a27\u1a29\u0003\u0396\u01cb\u0000\u1a28\u1a24\u0001\u0000\u0000\u0000"+
56224 "\u1a28\u1a29\u0001\u0000\u0000\u0000\u1a29\u039f\u0001\u0000\u0000\u0000"+
56225 "\u1a2a\u1a2b\u0005T\u0000\u0000\u1a2b\u1a2c\u0005\u014e\u0000\u0000\u1a2c"+
56226 "\u1a2e\u0005\u028a\u0000\u0000\u1a2d\u1a2a\u0001\u0000\u0000\u0000\u1a2d"+
56227 "\u1a2e\u0001\u0000\u0000\u0000\u1a2e\u1a2f\u0001\u0000\u0000\u0000\u1a2f"+
56228 "\u1a30\u0005L\u0000\u0000\u1a30\u1a35\u0003\u03a2\u01d1\u0000\u1a31\u1a32"+
56229 "\u0005%\u0000\u0000\u1a32\u1a34\u0003\u03a2\u01d1\u0000\u1a33\u1a31\u0001"+
56230 "\u0000\u0000\u0000\u1a34\u1a37\u0001\u0000\u0000\u0000\u1a35\u1a33\u0001"+
56231 "\u0000\u0000\u0000\u1a35\u1a36\u0001\u0000\u0000\u0000\u1a36\u03a1\u0001"+
56232 "\u0000\u0000\u0000\u1a37\u1a35\u0001\u0000\u0000\u0000\u1a38\u1a39\u0005"+
56233 "\u00d3\u0000\u0000\u1a39\u1a3a\u0005\u0018\u0000\u0000\u1a3a\u1a45\u0003"+
56234 "\u001c\u000e\u0000\u1a3b\u1a3c\u0005\u028b\u0000\u0000\u1a3c\u1a3d\u0005"+
56235 "\u0018\u0000\u0000\u1a3d\u1a45\u0003\u0396\u01cb\u0000\u1a3e\u1a3f\u0005"+
56236 "\u0296\u0000\u0000\u1a3f\u1a40\u0005\u0018\u0000\u0000\u1a40\u1a45\u0003"+
56237 "2\u0019\u0000\u1a41\u1a42\u0005\u0277\u0000\u0000\u1a42\u1a43\u0005\u0018"+
56238 "\u0000\u0000\u1a43\u1a45\u0003*\u0015\u0000\u1a44\u1a38\u0001\u0000\u0000"+
56239 "\u0000\u1a44\u1a3b\u0001\u0000\u0000\u0000\u1a44\u1a3e\u0001\u0000\u0000"+
56240 "\u0000\u1a44\u1a41\u0001\u0000\u0000\u0000\u1a45\u03a3\u0001\u0000\u0000"+
56241 "\u0000\u1a46\u1a47\u0005L\u0000\u0000\u1a47\u1a48\u0003\u03a6\u01d3\u0000"+
56242 "\u1a48\u03a5\u0001\u0000\u0000\u0000\u1a49\u1a4a\u0005\u00d3\u0000\u0000"+
56243 "\u1a4a\u1a4b\u0005\u0018\u0000\u0000\u1a4b\u1a50\u0003\u001c\u000e\u0000"+
56244 "\u1a4c\u1a4d\u0005%\u0000\u0000\u1a4d\u1a4e\u0005\u028b\u0000\u0000\u1a4e"+
56245 "\u1a4f\u0005\u0018\u0000\u0000\u1a4f\u1a51\u0003\u0396\u01cb\u0000\u1a50"+
56246 "\u1a4c\u0001\u0000\u0000\u0000\u1a50\u1a51\u0001\u0000\u0000\u0000\u1a51"+
56247 "\u03a7\u0001\u0000\u0000\u0000\u1a52\u1a53\u0005L\u0000\u0000\u1a53\u1a57"+
56248 "\u0003\u03aa\u01d5\u0000\u1a54\u1a55\u0005T\u0000\u0000\u1a55\u1a57\u0005"+
56249 "\u0299\u0000\u0000\u1a56\u1a52\u0001\u0000\u0000\u0000\u1a56\u1a54\u0001"+
56250 "\u0000\u0000\u0000\u1a57\u03a9\u0001\u0000\u0000\u0000\u1a58\u1a59\u0005"+
56251 "\u00d3\u0000\u0000\u1a59\u1a5a\u0005\u0018\u0000\u0000\u1a5a\u1a5c\u0003"+
56252 "\u001c\u000e\u0000\u1a5b\u1a5d\u0005\u0295\u0000\u0000\u1a5c\u1a5b\u0001"+
56253 "\u0000\u0000\u0000\u1a5c\u1a5d\u0001\u0000\u0000\u0000\u1a5d\u1a67\u0001"+
56254 "\u0000\u0000\u0000\u1a5e\u1a5f\u0005%\u0000\u0000\u1a5f\u1a64\u0003\u03ac"+
56255 "\u01d6\u0000\u1a60\u1a61\u0005%\u0000\u0000\u1a61\u1a63\u0003\u03ac\u01d6"+
56256 "\u0000\u1a62\u1a60\u0001\u0000\u0000\u0000\u1a63\u1a66\u0001\u0000\u0000"+
56257 "\u0000\u1a64\u1a62\u0001\u0000\u0000\u0000\u1a64\u1a65\u0001\u0000\u0000"+
56258 "\u0000\u1a65\u1a68\u0001\u0000\u0000\u0000\u1a66\u1a64\u0001\u0000\u0000"+
56259 "\u0000\u1a67\u1a5e\u0001\u0000\u0000\u0000\u1a67\u1a68\u0001\u0000\u0000"+
56260 "\u0000\u1a68\u03ab\u0001\u0000\u0000\u0000\u1a69\u1a6a\u0005\u0297\u0000"+
56261 "\u0000\u1a6a\u1a6b\u0005\u0018\u0000\u0000\u1a6b\u1a70\u0007\u0000\u0000"+
56262 "\u0000\u1a6c\u1a6d\u0005\u0298\u0000\u0000\u1a6d\u1a6e\u0005\u0018\u0000"+
56263 "\u0000\u1a6e\u1a70\u0007\u0000\u0000\u0000\u1a6f\u1a69\u0001\u0000\u0000"+
56264 "\u0000\u1a6f\u1a6c\u0001\u0000\u0000\u0000\u1a70\u03ad\u0001\u0000\u0000"+
56265 "\u0000\u1a71\u1a72\u00054\u0000\u0000\u1a72\u1a73\u0005\u010e\u0000\u0000"+
56266 "\u1a73\u1a74\u0003\u037e\u01bf\u0000\u1a74\u03af\u0001\u0000\u0000\u0000"+
56267 "\u1a75\u1a76\u00053\u0000\u0000\u1a76\u1a77\u0005\u010e\u0000\u0000\u1a77"+
56268 "\u1a83\u0003\u037e\u01bf\u0000\u1a78\u1a84\u0003\u03b2\u01d9\u0000\u1a79"+
56269 "\u1a7a\u0005L\u0000\u0000\u1a7a\u1a7f\u0003\u03b4\u01da\u0000\u1a7b\u1a7c"+
56270 "\u0005%\u0000\u0000\u1a7c\u1a7e\u0003\u03b4\u01da\u0000\u1a7d\u1a7b\u0001"+
56271 "\u0000\u0000\u0000\u1a7e\u1a81\u0001\u0000\u0000\u0000\u1a7f\u1a7d\u0001"+
56272 "\u0000\u0000\u0000\u1a7f\u1a80\u0001\u0000\u0000\u0000\u1a80\u1a84\u0001"+
56273 "\u0000\u0000\u0000\u1a81\u1a7f\u0001\u0000\u0000\u0000\u1a82\u1a84\u0003"+
56274 "\u03b8\u01dc\u0000\u1a83\u1a78\u0001\u0000\u0000\u0000\u1a83\u1a79\u0001"+
56275 "\u0000\u0000\u0000\u1a83\u1a82\u0001\u0000\u0000\u0000\u1a84\u03b1\u0001"+
56276 "\u0000\u0000\u0000\u1a85\u1a86\u0007\'\u0000\u0000\u1a86\u03b3\u0001\u0000"+
56277 "\u0000\u0000\u1a87\u1a88\u0005\u00d3\u0000\u0000\u1a88\u1a8d\u0005\u0018"+
56278 "\u0000\u0000\u1a89\u1a8e\u0003\u001c\u000e\u0000\u1a8a\u1a8b\u0003\u0394"+
56279 "\u01ca\u0000\u1a8b\u1a8c\u0005\u0294\u0000\u0000\u1a8c\u1a8e\u0001\u0000"+
56280 "\u0000\u0000\u1a8d\u1a89\u0001\u0000\u0000\u0000\u1a8d\u1a8a\u0001\u0000"+
56281 "\u0000\u0000\u1a8e\u1a96\u0001\u0000\u0000\u0000\u1a8f\u1a90\u0005\u0289"+
56282 "\u0000\u0000\u1a90\u1a91\u0005\u0018\u0000\u0000\u1a91\u1a97\u0003\u001c"+
56283 "\u000e\u0000\u1a92\u1a94\u0003\u03b6\u01db\u0000\u1a93\u1a95\u0003\u03b6"+
56284 "\u01db\u0000\u1a94\u1a93\u0001\u0000\u0000\u0000\u1a94\u1a95\u0001\u0000"+
56285 "\u0000\u0000\u1a95\u1a97\u0001\u0000\u0000\u0000\u1a96\u1a8f\u0001\u0000"+
56286 "\u0000\u0000\u1a96\u1a92\u0001\u0000\u0000\u0000\u1a96\u1a97\u0001\u0000"+
56287 "\u0000\u0000\u1a97\u1aad\u0001\u0000\u0000\u0000\u1a98\u1a99\u0005\u0296"+
56288 "\u0000\u0000\u1a99\u1a9a\u0005\u0018\u0000\u0000\u1a9a\u1aad\u00032\u0019"+
56289 "\u0000\u1a9b\u1a9c\u0005\u0277\u0000\u0000\u1a9c\u1a9d\u0005\u0018\u0000"+
56290 "\u0000\u1a9d\u1aad\u0003*\u0015\u0000\u1a9e\u1a9f\u0005\u00a8\u0000\u0000"+
56291 "\u1a9f\u1aa0\u0005\u0018\u0000\u0000\u1aa0\u1aad\u0003\u037e\u01bf\u0000"+
56292 "\u1aa1\u1aa2\u0005\u0298\u0000\u0000\u1aa2\u1aa3\u0005\u0018\u0000\u0000"+
56293 "\u1aa3\u1aad\u0007\u0000\u0000\u0000\u1aa4\u1aa5\u0005\u0297\u0000\u0000"+
56294 "\u1aa5\u1aa6\u0005\u0018\u0000\u0000\u1aa6\u1aad\u0007\u0000\u0000\u0000"+
56295 "\u1aa7\u1aa8\u0005\u0143\u0000\u0000\u1aa8\u1aa9\u0005\u0018\u0000\u0000"+
56296 "\u1aa9\u1aad\u0003*\u0015\u0000\u1aaa\u1aab\u0005\u00e5\u0000\u0000\u1aab"+
56297 "\u1aad\u0005\u0143\u0000\u0000\u1aac\u1a87\u0001\u0000\u0000\u0000\u1aac"+
56298 "\u1a98\u0001\u0000\u0000\u0000\u1aac\u1a9b\u0001\u0000\u0000\u0000\u1aac"+
56299 "\u1a9e\u0001\u0000\u0000\u0000\u1aac\u1aa1\u0001\u0000\u0000\u0000\u1aac"+
56300 "\u1aa4\u0001\u0000\u0000\u0000\u1aac\u1aa7\u0001\u0000\u0000\u0000\u1aac"+
56301 "\u1aaa\u0001\u0000\u0000\u0000\u1aad\u03b5\u0001\u0000\u0000\u0000\u1aae"+
56302 "\u1aaf\u0007]\u0000\u0000\u1aaf\u03b7\u0001\u0000\u0000\u0000\u1ab0\u1ab1"+
56303 "\u00059\u0000\u0000\u1ab1\u1ab2\u0005\u0143\u0000\u0000\u1ab2\u1ab7\u0003"+
56304 "*\u0015\u0000\u1ab3\u1ab4\u00054\u0000\u0000\u1ab4\u1ab5\u0005\u0143\u0000"+
56305 "\u0000\u1ab5\u1ab7\u0003*\u0015\u0000\u1ab6\u1ab0\u0001\u0000\u0000\u0000"+
56306 "\u1ab6\u1ab3\u0001\u0000\u0000\u0000\u1ab7\u03b9\u0001\u0000\u0000\u0000"+
56307 "\u1ab8\u1abd\u0005\u029b\u0000\u0000\u1ab9\u1aba\u0005L\u0000\u0000\u1aba"+
56308 "\u1abb\u0005\u029c\u0000\u0000\u1abb\u1abc\u0005\u0018\u0000\u0000\u1abc"+
56309 "\u1abe\u0003\u00d0h\u0000\u1abd\u1ab9\u0001\u0000\u0000\u0000\u1abd\u1abe"+
56310 "\u0001\u0000\u0000\u0000\u1abe\u03bb\u0001\u0000\u0000\u0000\u0311\u03f6"+
56311 "\u03f9\u0409\u0415\u041b\u041d\u041f\u0426\u042c\u042e\u0436\u043a\u0442"+
56312 "\u0446\u044c\u0457\u045c\u0467\u0473\u0477\u0484\u048b\u0490\u0495\u049c"+
56313 "\u04a3\u04ac\u04b1\u04b3\u04ba\u04c5\u04c9\u04da\u04e5\u04eb\u04f2\u04f6"+
56314 "\u0500\u0506\u0508\u050d\u051a\u0524\u0526\u0535\u0544\u0546\u054d\u0554"+
56315 "\u055d\u0564\u056d\u0573\u0576\u0599\u059b\u05a7\u05af\u05b5\u05bf\u05c6"+
56316 "\u05cc\u05d1\u05d8\u05dc\u05e7\u05f7\u0602\u0607\u0612\u0616\u061d\u0624"+
56317 "\u0628\u062d\u0630\u0640\u0649\u0655\u0657\u065c\u0660\u0663\u0668\u0671"+
56318 "\u0676\u067e\u068a\u0693\u0699\u06a1\u06a4\u06a7\u06b2\u06ba\u06c3\u06cb"+
56319 "\u06d3\u06d7\u06e4\u06e6\u06ef\u0704\u0709\u0715\u0722\u072b\u0738\u074b"+
56320 "\u0754\u0758\u0771\u077b\u0785\u078e\u079c\u07a4\u07aa\u07b2\u07bd\u07c4"+
56321 "\u07ce\u07d3\u07f4\u07fd\u0800\u0807\u080e\u0815\u081e\u0825\u082b\u0832"+
56322 "\u0838\u083f\u0845\u084c\u0852\u0859\u0860\u0862\u0867\u086e\u0878\u0882"+
56323 "\u088e\u0893\u089c\u08a3\u08a8\u08b7\u08c1\u08cc\u08cf\u08db\u08df\u08f1"+
56324 "\u08f6\u08fa\u08ff\u0903\u090a\u090f\u0917\u0920\u0924\u0928\u092b\u092e"+
56325 "\u0931\u093f\u0944\u0949\u095b\u095d\u0968\u0970\u0975\u097e\u0985\u098b"+
56326 "\u0994\u0997\u099a\u099d\u09a6\u09ae\u09b7\u09be\u09c1\u09c9\u09cb\u09ce"+
56327 "\u09d8\u09dd\u09e2\u09e6\u09e9\u09ed\u09f0\u09f5\u09fd\u0a06\u0a0e\u0a11"+
56328 "\u0a14\u0a17\u0a1d\u0a21\u0a29\u0a3f\u0a41\u0a46\u0a48\u0a4f\u0a51\u0a55"+
56329 "\u0a5d\u0a6b\u0a74\u0a83\u0a89\u0a8d\u0a94\u0aa8\u0ab1\u0ab4\u0aca\u0acc"+
56330 "\u0ad7\u0ae7\u0aec\u0af0\u0af5\u0afc\u0b06\u0b0d\u0b10\u0b1b\u0b1f\u0b24"+
56331 "\u0b2a\u0b2f\u0b32\u0b3d\u0b46\u0b4a\u0b59\u0b60\u0b6c\u0b6f\u0b73\u0b77"+
56332 "\u0b80\u0b83\u0b86\u0b8d\u0b92\u0b9b\u0baf\u0bb1\u0bb7\u0bbe\u0bc3\u0bca"+
56333 "\u0bce\u0bd4\u0bda\u0bdf\u0be5\u0bec\u0bf2\u0bfb\u0c02\u0c04\u0c0a\u0c0d"+
56334 "\u0c10\u0c15\u0c1c\u0c25\u0c2a\u0c33\u0c35\u0c3a\u0c43\u0c45\u0c48\u0c5a"+
56335 "\u0c5c\u0c66\u0c6d\u0c70\u0c74\u0c7c\u0c7f\u0c83\u0c8a\u0c91\u0c9c\u0cb8"+
56336 "\u0cc0\u0cd2\u0cd4\u0cdb\u0cde\u0ce0\u0ce7\u0ce9\u0cee\u0cf5\u0cfa\u0cfd"+
56337 "\u0d01\u0d0a\u0d0d\u0d15\u0d19\u0d1d\u0d22\u0d27\u0d2b\u0d36\u0d3d\u0d43"+
56338 "\u0d47\u0d4b\u0d53\u0d55\u0d58\u0d5f\u0d64\u0d6d\u0d72\u0d7a\u0d81\u0d89"+
56339 "\u0d92\u0d9e\u0dae\u0db1\u0db3\u0db6\u0db9\u0dbc\u0dbf\u0dd1\u0dd6\u0ddb"+
56340 "\u0de0\u0de3\u0de7\u0def\u0dfb\u0dfe\u0e01\u0e10\u0e13\u0e16\u0e1a\u0e1e"+
56341 "\u0e28\u0e2b\u0e2e\u0e39\u0e3e\u0e44\u0e48\u0e4b\u0e56\u0e59\u0e5e\u0e60"+
56342 "\u0e6c\u0e6f\u0e76\u0e79\u0e7d\u0e81\u0e84\u0e87\u0e8b\u0e96\u0e99\u0ea0"+
56343 "\u0ea3\u0ea7\u0eae\u0eb3\u0ebe\u0ec3\u0ec5\u0ed2\u0edd\u0ee5\u0ee8\u0eec"+
56344 "\u0ef2\u0efc\u0f06\u0f0b\u0f17\u0f1d\u0f20\u0f23\u0f26\u0f29\u0f2c\u0f2f"+
56345 "\u0f33\u0f38\u0f3f\u0f46\u0f53\u0f5f\u0f65\u0f6e\u0f71\u0f75\u0f79\u0f82"+
56346 "\u0f87\u0f90\u0f92\u0f97\u0f99\u0fa0\u0fab\u0fb4\u0fbb\u0fbd\u0fc6\u0fcb"+
56347 "\u0fd2\u0fd9\u0feb\u0ff0\u0ff4\u100f\u1012\u101b\u1034\u1037\u1039\u103e"+
56348 "\u1046\u105b\u105d\u1066\u1069\u1078\u107d\u1086\u109a\u109d\u10a1\u10ad"+
56349 "\u10af\u10bc\u10be\u10c8\u10f5\u10fb\u1104\u1113\u1117\u1120\u1126\u1130"+
56350 "\u1139\u1144\u1150\u1152\u115a\u1168\u1170\u1175\u1177\u1180\u1186\u119b"+
56351 "\u11a2\u11aa\u11af\u11b1\u11da\u11df\u11ee\u11f6\u120d\u1216\u121e\u1229"+
56352 "\u122e\u1236\u1241\u124c\u1255\u125c\u1260\u1266\u127b\u1289\u128c\u1297"+
56353 "\u129c\u129f\u12a3\u12a6\u12aa\u12ad\u12b2\u12b5\u12b8\u12be\u12c1\u12c9"+
56354 "\u12cd\u12d0\u12d5\u12d9\u12de\u12e2\u12ee\u12f2\u12fa\u1301\u1305\u1308"+
56355 "\u130c\u1310\u1313\u1316\u131a\u131d\u1320\u1324\u1327\u132a\u1335\u1339"+
56356 "\u133e\u1342\u134a\u134e\u1353\u1357\u135b\u135f\u1362\u1365\u1368\u136b"+
56357 "\u136e\u1374\u137a\u1380\u1383\u1386\u1389\u138d\u1391\u1394\u1398\u13a2"+
56358 "\u13a6\u13b5\u13bc\u13c1\u13c4\u13c8\u13cc\u13d2\u13d5\u13d8\u13de\u13e1"+
56359 "\u13e5\u13ea\u13ec\u13f2\u13fe\u1410\u1415\u141d\u1422\u1424\u142b\u1432"+
56360 "\u1435\u143d\u1467\u1469\u147e\u1485\u14bd\u14c3\u14cb\u14ce\u14d8\u14da"+
56361 "\u14dc\u14e1\u14e3\u14e5\u14eb\u14ed\u14f4\u14fa\u14fc\u14fe\u1500\u1505"+
56362 "\u1509\u1511\u1513\u151d\u151f\u1523\u1527\u1529\u152e\u1530\u1533\u153c"+
56363 "\u1546\u1552\u1557\u155f\u1565\u1569\u156e\u1576\u157c\u1580\u1585\u1589"+
56364 "\u1590\u1599\u15a0\u15a7\u15af\u15b3\u15b8\u15c0\u15c4\u15c8\u15cd\u15d5"+
56365 "\u15d9\u15de\u15e3\u15eb\u15ef\u15f3\u15f8\u1600\u1604\u160c\u1621\u1633"+
56366 "\u163e\u1653\u166d\u1682\u1686\u168b\u1694\u1696\u16a8\u16bc\u16c7\u16da"+
56367 "\u16de\u16e6\u16ea\u16f5\u1711\u1717\u1734\u173b\u173f\u1744\u174e\u1759"+
56368 "\u1763\u176c\u1782\u178f\u1796\u17a2\u17af\u17bc\u17c7\u17d3\u17d9\u17df"+
56369 "\u17e5\u17f1\u17fe\u180b\u1817\u181d\u1823\u182a\u182e\u183b\u1848\u1851"+
56370 "\u185b\u188b\u1895\u1897\u18a3\u18a9\u18b1\u18b4\u18bd\u18c0\u18cd\u18d0"+
56371 "\u18d7\u18dd\u18e4\u18ec\u18ef\u18fa\u18fd\u1906\u190f\u1917\u1919\u1922"+
56372 "\u1927\u1929\u192f\u193a\u193d\u193f\u1947\u194d\u1957\u1962\u1967\u1974"+
56373 "\u197a\u1983\u198e\u1994\u1999\u199b\u19a2\u19a7\u19b8\u19c2\u19c8\u19d0"+
56374 "\u19d3\u19db\u19de\u19f2\u19ff\u1a02\u1a09\u1a11\u1a1c\u1a1f\u1a28\u1a2d"+
56375 "\u1a35\u1a44\u1a50\u1a56\u1a5c\u1a64\u1a67\u1a6f\u1a7f\u1a83\u1a8d\u1a94"+
56376 "\u1a96\u1aac\u1ab6\u1abd";
56377 public static final String _serializedATN = Utils.join(
56378 new String[] {
56379 _serializedATNSegment0,
56380 _serializedATNSegment1,
56381 _serializedATNSegment2
56382 },
56383 ""
56384 );
56385 public static final ATN _ATN =
56386 new ATNDeserializer().deserialize(_serializedATN.toCharArray());
56387 static {
56388 _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
56389 for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
56390 _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
56391 }
56392 }
56393 }